자료구조
자료 : 도서관의 무수한 책
구조 : 정리하는 규칙과 방법에 따라서 책장을 쌓고 정리한 구조.
도서관에 가서 책을 찾을때, 구조가 엉망이면 책을 찾을 수 있을까? 어떤 규칙으로 어떻게 책장을 배열했을 때 책을 가장 빠르게 찾고 정리할 수 있을까? 컴퓨터 과학에서 자료구조는 위와 거의 동일한 역할을 가진다. 결국 자료 구조는 데이터를 얼마나 효율적으로 저장 관리하여, 메모리를 효율적으로 사용할 수 있는가에 대해 연구하는 것이다.
링크드 큐(Linked Queue)
원형이 아닌 직선으로! 이번엔 순환 큐(Circular Queue)가 아닌, 링크드 큐(Linked Queue)입니다. 링크드가 하니 링크드 리스트가 떠오르지 않나요? 비슷합니다. 링크드 큐의 노드에도 그 노드의 다음을 가리키는 주소 값을 가지고 있으며, 노드가 전단(Front) -> 후단(Rear) 방향으로 이어져 있습니다. 그래도 전단에서 제거 연산이 이루어진다는 것과, 후단에서 삽입 연산이 이루어진다는 것은 바뀌지 않습니다. 링크드 큐의 구현은 상당히 간단합니다. 링크드 … 더 읽기
순환 큐(Circular Queue)
선입선출! 큐(Queue)란 자료구조는 앞서 배웠던 스택(Stack) 자료구조와는 달리 선입선출(First In, First Out: FIFO)의 구조를 지니고 있습니다. 한마디로 먼저 들어온 데이터는 먼저 나간다는 소리입니다. 예를 들면, 점심시간에 학생들이 점심을 먹으러 일렬로 줄을 서있다고 가정합시다. 줄을 선 순서대로 차례차례 급식을 받고 빠져나가죠? 이러한 구조를 지닌 자료구조가 바로 큐(Queue)라고 말할 수 있습니다. 오늘은 순환 큐(Circular Queue)와 링크드 큐(Linked … 더 읽기