공삼
article thumbnail
Published 2023. 10. 5. 12:59
스택과 큐 (+deque) CS/Data


스택과 큐는 데이터를 저장하고 관리하는 두가지 주요 데이터 구조이다. 

 

주요 차이점은 데이터의 삽입제거 방법데이터의 처리 순서에 있다. 

 

 

이외의 데이터를 관리하는 구조 예시로는 배열, 리스트, 트리, 그래프, 해시테이블, 덱  등 다양한 저장방법이 있다.

 

 

스택 (stack)

  • 데이터 삽입과 제거: 스택은 후입선출(LIFO, Last-In-First-Out) 방식을 따른다. 새로운 데이터는 스택의 맨 위에 삽입되고, 제거할 때도 맨 위에서부터 제거된다. 
  • 활용 예시: 함수 호출 스택, 뒤로 가기 버튼의 동작, 재귀 함수 호출 등에 사용된다.

 

큐 (queue)

  • 데이터 삽입과 제거: 큐는 선입선출(FIFO, First-In-First-Out) 방식을 따른다. 새로운 데이터는 큐의 뒤에 삽입되고, 제거할 때는 가장 앞에서부터 제거된다. 이것은 데이터를 큐에 삽입한 순서대로 처리됨을 의미한다.
  • 활용 예시: 대기열 관리, 작업 스케줄링, 네트워크 패킷 처리 등에 사용된다.

 

덱 (deque)

덱 (deque, Double-ended queue) 는 영어에서 알 수 있듯이 스택과 큐를 모두 제공하는 기능을 갖고 있다. 

 

  • 양쪽에서 데이터 삽입 및 제거: 덱은 데이터를 앞과 뒤 양쪽에서 삽입하고 제거할 수 있다. 이것은 데이터를 스택처럼 LIFO(후입선출) 방식으로 또는 큐처럼 FIFO(선입선출) 방식으로 처리할 수 있도록 한다.
  • 다양한 용도로 활용: 덱은 데이터를 양쪽에서 조작할 수 있으므로 다양한 응용 분야에 유용하게 사용된다. 예를 들어, 스택과 큐의 기능이 모두 필요한 상황에서 덱을 사용할 수 있다.

 

 

 

 

'CS > Data' 카테고리의 다른 글

(데이터 표현) JSON과 XML  (0) 2023.05.08
profile

공삼

@g_three

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!