자료구조(Stack, Queue)

황에녹·2023년 3월 14일
0

부트캠프

목록 보기
1/1

Q1. 자료구조란?

A. 여러 데이터를 잘 사용하기 위해서 저장하고, 사용 방법을 정의한 것.

데이터(data) : 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값

자료구조의 분류

출처 : 코드스테이츠


Q2. 스택(Stack)

: 데이터를 순서대로 쌓는 구조

통에 먼저 넣은 감자칩을 먼저 먹을 순 없다.

[특징]

  • 입/출구가 하나이다.
  • 후입선출(나중에 들어온 것이 가장 먼저 나감)
  • LIFO(Last In First Out) 혹은 FILO(First In Last Out) 라고 부름.
  • Stack에 데이터를 넣는 것을 'PUSH', 데이터를 꺼내는 것을 'POP' 이라고 한다.

[실사용 예제]

: 브라우저 뒤로 가기

  1. 새탭 들어감
  2. 네이버 들어감
  3. 유튜브 들어감
  4. 인스타 들어감
  5. 뒤로가기 누름
  6. 5-1. 현재 탭이던 유튜브는 다른 스택에 옮겨짐
    5-2. 앞으로 가기 시, 다시 스택 가져오게 되는 구조
  7. 현재 탭은 유튜브

Q3. 큐(Queue)

: 순서대로 줄 서는 것 같은 구조

군인들이 좁은 통로를 순서대로 들어가고, 나오고 있다.

[특징]

  • 입구와 출구가 고정되어 있다.
  • 선입선출(먼저 들어온 것 먼저 나감)
  • FIFO(First In First Out) 혹은 LILO(Last In Last Out) 라고 부름.
  • 데이터를 넣는 것을 'Enqueue', 데이터를 꺼내는 것을 'Dequeue'라고 한다.

[실사용 예제]

: PPT 혹은 한글 파일을 순서대로 인쇄할 때

  1. 한글 파일을 인쇄
  2. 파일의 순서대로 인쇄기에 들어감
  3. 들어온 순서대로 인쇄물을 출력
profile
개발, 영화, 음악

0개의 댓글