TIL_024_210304

James·2021년 3월 4일
0

TILs

목록 보기
24/40

자료구조 Stack

  • Stack은 First-In Last-Out / Last-In First-Out의 자료 구조로, 한쪽으로만 입출력이 가능한 구조
  • 예를 들어 프링글스를 먹을 때 통이 한쪽에만 구멍이 있어 먼저 넣어진 감자칩은 맨마지막에 꺼내먹을 수 있다.
  • 배열을 이용하면 push와 pop만 이용한다는 규칙을 정하면 stack을 흉내낼 수 있다.
  • stack 클래스를 만들어서 유사배열처럼 객체를 사용할 시 push()와 pop() 메소드를 정의해서 사용할 수도 있다.
  • top 이라는 인덱스를 이용해서 push나 pop을 구현할 수 있다.
  • 브라우저를 쓸 때 자주 사용하는 뒤로가기, 앞으로가기 버튼은 stack을 이용한 것이다.

자료구조 queue

  • queue는 First-In First-Out 자료구조로, 한쪽으로 입력했으면 다른 한쪽으로 출력을 하는 방식
  • 영화표 예매할 때 먼저 온 사람이 먼저 주문을 처리받고 가는 것처럼 "순서대로" 서비스 받기 위해 줄서서 기다리는 형태라 할 수 있음
  • 배열로 구현한다면 push로 입력하고, shift로 출력한다.
  • queue로 입력을 enqueue, 출력을 dequeue라 부른다.

! 자료구조는 개념적으로 쉬운 것같지만 구현 시 생각보다 고민을 많이 해야 한다.

profile
웹개발자 James 입니다.

0개의 댓글