Page 28 - c언어를 이용한 체험!자료구조 도서 미리보기
P. 28

20 PART 1? 본격적인 자료 구조 공부에 앞서

여기서 자료 구조의 특성이             yy스택: 책상 위에 읽을 책을 순서대로 쌓아두면, 우리는 제일 위의 책
나온다. 스택이라는 자료 구              부터 차례로 꺼내서 보면 된다. 이렇게 하면 책을 고를 때 순서를 생
조는 맨 위에서만 데이터의               각하지 않아도 되는 장점이 있다. 헨젤과 그레텔의 동화에 나오는 것
추가, 삭제가 이루어진다. 스             처럼 걸어온 길을 되돌아가려는 경우에, 내가 지나온 위치를 차곡 차
택 중간에서 데이터를 추가하              곡 하나씩 쌓아 두면, 가장 위의 위치부터 꺼내서 되돌아 갈 수 있다.
거나 삭제하지 못하도록 막고              이때 사용하는 자료 구조가 스택이다.
있는 형식이다. 더 불편하다
고 느낄 수 있다.                                                                           C
                                                                                     B
그러나 골프를 배울 때 자신                                                                      A
만의 독특한 폼으로 스윙을
해도 되지만, 표준 폼으로 스           yy큐: 은행에서 대기자로써 번호표를 뽑는 경우를 생각해보자. 먼저 번
윙하도록 제약을 가한다. 왜              호표를 뽑은 사람이 먼저 서비스를 받는다. 스택에서는 데이터의 추
그럴까? 그렇게 하는 것이 골             가와 삭제가 가장 위(top)에서만 이루어지지만, 큐는 스택과는 달리
프 공을 맞히는데 더 효율적              앞에서 삭제가, 뒤에서 추가가 이루어지는 형식이다. 이런 자료 구조
이기 때문이다.                     는 어떤 경우에 실제로 사용될까? 데이터 통신이 대표적인 예이다.

자료 구조의 경우도 동일하                        Ticket Box
다. 해당하는 문제를 풀기에
적합한 자료 구조를 사용하면                   전단(front)  후단(rear)
알고리즘이 간단해지고, 문제
풀이가 효율적이 될 수 있다.

스택은 가장 나중에 추가된
자료가 먼저 삭제(달리 말하
면, 가장 먼저 추가된 자료
가 가장 나중에 삭제)되고
(LIFO: Last In Last Out),
큐는 가장 먼저 추가된 자료
가 먼저 삭제된다(FIFO: First
In First Out).

                            메시지   서비스 버스         메시지
                           보낸 사람  네임스페이스       받는 사람

                             웹앱       큐          서비스
                           모바일 앱                  또는
                                             응용 프로그램
                            서비스

                           yy트리와 그래프: 아래와 같은 조직도를 표현하는 경우에 트리라는 자
                             료 구조가 좋다. 전철 노선도와 같은 데이터를 표현할 때는 그래프라
   23   24   25   26   27   28   29   30