Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

스택과 큐 데이터 구조의 차이점

<시간/>

스택과 큐의 차이점을 알아보기 전에 데이터 유형은 데이터를 저장하기 위해 변수가 생성되는 데이터 유형이라는 프로그래밍의 데이터 유형 개념을 이해하는 것이 좋습니다. 기본적으로 기본 데이터 유형이 사전 정의된 데이터 유형인 기본 데이터 유형과 비기본 데이터 유형의 두 가지 유형이 있습니다. 이 유형은 프로그래밍 언어에서 지원하는 반면 비기본 데이터 유형은 프로그래밍 언어에 의해 정의되지 않지만 대신 프로그래머가 만들었습니다.

이제 Stack과 Queue는 둘 다 기본이 아닌 데이터 구조이지만 내부 구현을 기반으로 두 데이터 구조 사이의 몇 가지 주요 차이점을 아래와 같이 나열할 수 있습니다.

Sr. 아니요. 스택 대기열
1 내부 구현 스택은 스택의 마지막에 삽입된 요소가 스택에서 가장 먼저 나오는 방식으로 내부적으로 구현됩니다. 따라서 스택은 LIFO(Last in and First out)를 따릅니다. 반면에 Queue는 대기열의 첫 번째 요소에 삽입된 요소가 가장 먼저 나오는 요소가 되는 방식으로 구현됩니다. 따라서 대기열은 FIFO(선입선출)를 따릅니다.
2 대상 요소 요소에 대한 스택 작업의 경우 상단이라는 목록의 한쪽 끝에서만 발생합니다. 요소에 대한 Queue 작업의 경우, 즉 삽입은 목록의 뒤쪽에서 발생하고 삭제는 목록의 앞쪽에서 발생합니다.
3 레이블 및 플래그 스택에서는 항상 목록에 있는 마지막 요소를 가리키는 목록에 액세스하기 위해 하나의 플래그만 유지됩니다. 대기열의 경우 목록에 액세스하기 위해 두 개의 플래그가 유지됩니다. 전면 플래그는 항상 목록에 삽입된 첫 번째 요소를 가리키며 여전히 존재하며, 후면 플래그는 항상 마지막으로 삽입된 요소를 가리킵니다.
4 작업 푸시 및 팝이라고 하는 스택 작업 Enqueue 및 dequeue라고 하는 대기열 작업의 경우
5 구현 스택에는 변형이 없으므로 더 이상 구현되지 않습니다. 반면 대기열에는 순환 대기열, 우선 순위 대기열, 이중 종료 대기열과 같은 변형이 있습니다.
6 복잡성 위의 내용에 따르면 스택은 큐보다 간단합니다. 반면에 큐는 스택에 비해 더 복잡합니다.