제 3장: 자료구조

22. 다양한 구조의 자료구조들 다섯 가지

  • 배열: 데이터를 빈틈없이 나열한 자료구조(일차원, 이차원, 삼차원 배열 등이 있다)
  • 리스트: 데이터를 순서대로 나열한 자료구조. 데이터들이 화살표로 서로 연결되어있어 떨어진 장소에 위치해도 된다(배열과의 차이점)
  • 스택: 책을 쌓아 올리듯 데이터를 관리하는 구조. 데이터를 넣는 순서와 반대 순서로 데이터를 꺼낸다.
  • 큐(대기 행렬): 계산대에 줄을 서는 것과 비슷하다. 데이터를 넣은 순서대로 데이터를 꺼낸다.
  • 트리: 나무가지가 두개, 세개로 갈라지고 갈라진 끝에서 또 두개 세개로 갈라지듯 퍼져나가는 자료구조

24. 책처럼 쌓이는 자료구조가 스택

  • 스택(Stack): ‘쌓다’ 라는 뜻. 데이터를 쌓아 관리하는 방식.

  • 예: 책상위에 책을 쌓아놓았을 때, 중간에 있는 책을 빼기 위해서는 위에 쌓인 책을 한권 한구너 차례로 뺀 뒤에 원하는 책을 빼야한다.

  • 푸시 데이터를 넣는(쌓는) 작업

  • 팝 데이터를 꺼내는 작업

  • LIFO(Last In, First Out), FILO(First In, Last Out): 마지막에 입력된 데이터가 먼저 출력(⇒ 스택)