[Unit 1] Stack & Queue

JeongYeon·2023년 5월 10일
0

[SEB FE]section4

목록 보기
2/16
post-thumbnail

Stack

Stack
쌓다, 쌓이다, 포개지다의 뜻으로 데이터를 순서대로 쌓는 자료구조


Stack 구조

원통에 차례로 구슬을 넣는다고 가정할 때 원통을 자료구조의 Stack, 구슬을 data로 비유할 수 있다.
구슬을 차례로 원통에 넣을때 가장 나중에 넣은 구슬이 가장위에 자리하고 있다.
그래서 구슬을 빼는 경우 가장 나중에 넣은 구슬이 가장 위에 위치하고 있어서
가장 먼저 뺄 수 있다.
  • Stack의 특징은 입력과 출력이 하나의 방향, 최상단에서만 이루어지는 제한적 접근에 있다.
  • Stack 자료구조의 정책을 LIFO(Last In First Out), FILO(First In Last Out)라고 부른다.
  • Stack에 데이터를 넣는 것을 PUSH, 데이터를 꺼내는 것을 POP이라고 한다.

    Stack 특징
  • LIFO(Last In First Out)
  • 하나의 입출력 방향을 가지고 있다.
  • 데이터는 하나씩 넣고 뺄 수 있다.


    Stack은 우리가 자주 사용하는 브라우저의 뒤로가기, 앞으로 가기 기능을 구현할때 활용한다.

Queue

Queue
줄을 서서 기다리다, 대기행렬이라는 뜻을 가진다.

명절에 많은 자동차가 고속도로를 지난다. 고속도로에는 톨게이트가 있고 
자동차는 톨게이트에 진입한 순서대로 통행료를 내고 톨게이트를 통과한다.

톨게이트를 Queue 자료구조, 자동차는 Data로 비유할 수 있다.
가장 먼저 진입한 자동차가 가장 먼저 톨게이트를 통과한다.
가장 나중에 진입한 자동차는 먼저 도착한 자동차가 모두 빠져나가기 전까지는 톨게이트를 빠져나갈 수 없다.



Queue 구조Stack과 반대되는 개념으로 먼저 들어간 데이터가 먼저 나오는 FIFO(First In First Out), LILO(Last In Last Out)을 특징으로 가진다.
데이터를 넣는 것을 enqueue, 데이터를 꺼내는 것을 dequeue라고 한다.


Queue 특징

  • FIFO(First In First Out)
  • 두 개의 입출력 방향을 가진다.
  • 데이터는 하나씩 넣고 뺄 수 있다.

내용 출처, 참조 : 코드스테이츠
stack, Queue 이미지 출처 : 위키백과

profile
프론트엔드 개발자 될거야( ⸝⸝•ᴗ•⸝⸝ )੭⁾⁾

0개의 댓글

관련 채용 정보