본문 바로가기

알고리즘

스택과 큐

반응형

1. Stack

스택은 LIFO(Last In First Out) 구조입니다.

top으로 정한곳을 통해서만 접근 가능하며, top을 통해 삽입하는 연산은 push, 삭제하는 연산은 pop이라 합니다.

스택은 시간 순서에 따라 자료가 쌓이고 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조적 특징을 가지고 있습니다.

비어있는 스택에서 자료를 추출하려고하는 경우 stack underflow라고 합니다.

스택이 넘치는 경우 stack overflow 라고 합니다.

 

스택으로 사용하기 좋은 분야는 아래와 같습니다.

-웹 브라우저 방문기록: 가장 나중에 열린 페이지를 다시 보여줘야합니다.

-실행 취소: 가장 나중에 실행된 것부터 실행 취소합니다.

 

2. Queue

큐는 FIFO(First In First Out) 구조입니다.

스택이 top을 통해서 삽입, 삭제가 이뤄진다면 큐는 한쪽에서는 삽입이 다른 쪽에서는 삭제 작업이 이뤄집니다.

삭제 연산만 수행되는 곳을 front, 삽입 연산만 이뤄지는 곳을 rear라고 합니다.

rear 에서 이뤄지는 삽입연산을 enQueue라고하며 front에서 이뤄지는 삭제연산을 dnQueue라고합니다.

 

큐를 사용하기 좋은 분야는 아래와 같습니다.

-은행 업무

-프로세스 관리

반응형

'알고리즘' 카테고리의 다른 글

최소신장트리  (0) 2020.12.06
String, StringBuilder, StringBuffer  (0) 2020.11.23
Hash Table  (0) 2020.11.15
console에서 값 읽을 때  (0) 2020.09.06
이차원 배열 정렬  (0) 2020.08.23