Stack(스택) / Queue(큐)

thang_velog·2023년 3월 1일
0
post-thumbnail

Stack (스택)

Stack(스택) 개념

  • LIFO(Last In First Out) 형식으로 가장 나중에 추가된 데이터가 가장 먼저 나오는 자료구조이다.

Stack(스택) 연산

  • pop() : stack에서 가장 나중에 추가된 데이터 즉, 가장 위에 있는 데이터를 제거한다.
  • push(data) : stack 맨 위에 data를 추가한다.
  • peek() : stack의 가장 나중에 추가된 데이터 즉, 가장 위에 있는 데이터를 반환한다.
  • isEmpty() : stack이 비어있는지 여부를 확인, 비어있으면 true를 반환한다.

Stack(스택) 사용 예

  • 웹 브라우저 방문기록 (뒤로가기)
  • 실행 취소 (undo)
  • 문자열 역순 만들기
  • 올바른 괄호 문자열 판단하기

Queue

Queue(큐) 개념

  • FIFO(First In First Out) 형식으로 먼저 추가된 데이터의 순서대로 먼저 나오는 자료구조이다.

Queue(큐) 연산

  • add(data) : data를 리스트의 마지막 부분에 추가한다.
  • remove() : 리스트의 첫번째 인덱스에 해당하는 항목을 제거한다.
  • peek() : queue에서 첫번째로 저장된 값을 반환한다.
  • isEmpty() : queue가 비어있는지 여부를 확인, 비어있으면 true를 반환한다.

Queue(큐) 사용 예

  • BFS (너비 우선 탐색)
  • 캐시 (Cache) 구현
  • 우선순위에 따른 작업 예약 (인쇄 대기열)
  • 콜센터 고객 대기시간

0개의 댓글