큐 큐는 FIFO 구조로 First In First Out, 선입선출, 먼저 삽입된것이 먼저 출력되는 구조입니다. 큐에서 출력될 자료를 가리키고 있는 포인터를 front(head)라고 하고, 삽입될 위치를 가리키고 있는 포인터를 rear(tail)라고 합니다. 큐도 스택구조와 마찬가지로 삽입과 출력을 할수있는데요, 삽입하는것을 put, 출력하는것을 get으로 구현합니다. 큐는 일회성이라는것이 특징입니다. 아래 큐의 동작과정을 보시면 알겠지만, 한번 사용된 공간은 다시 사용하지 않아서 큐의 구조는 일회성이라는 단점이 있습니다. Put(A) put(B) get(A) get(B) put(C) (rear) (rear) (rear) (rear),(front) [C](front) (rear) [B] [B](fron..
스택 스택은 FILO 구조로 First in Last out입니다. 스택의 맨 밑 바닥은 base또는 bottom 맨위는 top이라 불립니다. 스택에 자료를 넣는 것을 push 빼는것을 pop이라 부릅니다. 스택구조에서 자료를 삽입하거나 출력할때 탑은 스택안에 들어있는 자료의 맨 위의 위치를 가리키며 움직이게 됩니다. 만약 스택에 push를 해서 스택구조의 최대까지 도달하게 되었으면 오버플로우 상태라고 나타내고, 더이상 push를 하여 자료를 넣을수 없게됩니다. 반대로 pop을 해서 스택구조의 최저까지 도달하게될시에는 언더플로우 상태라고 나타내고, 더이상 pop을하여 자료를 출력할수없게됩니다. 이 스택구조는 대체 어디에 쓰이냐? 우리가 흔히 사용하는 중위 표기법! ex)5+8x8 와 같이 연산자가 가운데..
패리티 비트란? 정보를 전달하는 과정중에 오류가 있는지 검사하기위해 생겨난 것입니다. 그럼 어떤식으로 패리티비트로 오류를 검출해내는가? 바로, 원본의 보내려고하는 정보(데이터)뒤에 비트를 추가하면 됩니다! 예를 들어서 1101101이라는 7bit짜리 정보가 있습니다. 이 정보에있는 '1'의 수를 세어서 그 갯수가 홀수,짝수인지 따져봅니다. 홀수 패리티방식일때는 '1'의 개수가 홀수면 '0'을, 짝수면 '1'을, 반대로 짝수패리티방식에서 '1'의 갯수가 홀수면 '1'을, 짝수면 '0'을 맨뒤의 bit에 추가해줍니다. 그럼, 홀수패리티방식에서는 11011010, 짝수 패리티방식에서는 11011011 이 결과가 되게됩니다. 이 원리를 이용해서 패리티비트가 홀수면 오류를 발생했을것을 알수있고, 홀수 패리티는 홀..
불대수란? 하나의 명제를 참,거짓인지 판단하는데 이용되는 수학적인 방법입니다. 컴퓨터구조에서 이것을 사용하는 이유는 논리식을 간단하게 정리할수있기때문입니다. 교환법칙 : A + B = B + A, A * B = B * A 결합법칙 : A+(B+C) = (A+B)+C, A*(B*C) = (A*B)*C 분배법칙 : A*(B+C) = A*B+A*C, A+(B*C) = (A+B) * (A+C) 멱등법칙 : A+A = A, A*A=A 보수법칙 : A+A' = 1, A*A' = 0 향등법칙 : A+0 = A, A+1 = 1 , A*0 = 0, A*1 = A 드모르간 : A'+B' = (A*B)' , A'*B'=(A+B)' 복원법칙 : A''=A 여기서 드모르간의 법칙은 사람의이름을 따서 만든 법칙인데, 드모르간의 ..
GIF와 JPG PNG 공통점 기본적으로 세가지 모두 그림이나 사진에 사용되는 그림 파일 형식입니다. 칼라표현이 가능하고, 인터넷에서 사용할 수 있는 기본적인 포맷(형식)입니다. 가장 중요한것은 점(비트맵) 으로 그림을 표현하는 형식입니다. 비트맵의 반대형식은 백터방식입니다. JPG JPG는 손실압축방법( 픽셀데이터중에서 눈으로 분간하기 어려운 픽셀을 버려서 압축률을 높이는 방식) 을 사용하여 용량이 작은파일을 만들수있습니다. 경우에 따라 PNG와 5-10배의 용량차이를 보이기도 합니다. 하지만 용량이 작은만큼의 리스크도 존재합니다. JPEG 압축은 양자화의 영향으로, 바라지 않던 잡티가 낄 수 있습니다. 문자나 날카로운 경계가 있는 그림은, JPEG에서 생기기 쉬운 뭉개짐 없이 JPEG보다 압축을 더 ..
보수 보수에 대해서 보수는 보충해 주는수라는 뜻이고, 자릿수 올림에 필요한 최소한의 수(부족한수)입니다. 우선 9의 보수를 보면, 9로 채워진 칸에 임의의수 A를 뺀다고 생각하시면 됩니다. 9999 - 1234 = 8765 예 바로 8765가 1234의 9의 보수입니다. 여기서 8765+1을 하게되면 10의 보수가 되는것입니다. 이해를 돕기위해 10진수에서 거꾸로 생각하면, 10진수 1234의 보수는(10000-1234=)8766 8766에서 -1을하면 9의 보수값이 되는것입니다. 이번에는, 6612의 8의보수를 구해봅시다 우선 7의 보수로 7777-6612를 구한뒤 +1을 더하면 됩니다. 7777-6612 = 1165 +1 1166 왜 8의보수로 바로 구하지 않냐구요? 8의 진수로 10000-6612이..