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트리와 그래프: 아래와 같은 조직도를 표현하는 경우에 트리라는 자
료 구조가 좋다. 전철 노선도와 같은 데이터를 표현할 때는 그래프라