logo

스택 대 큐

먼저, 우리는 스택이 뭐야? 그리고 큐가 뭐야? 개별적으로 설명하고 스택과 큐의 차이점에 대해 논의하겠습니다.

스택이란 무엇입니까?

데이터 구조. 배열의 경우 임의 접근이 가능합니다. 즉, 배열의 모든 요소에 언제든지 접근할 수 있는 반면, 스택에서는 순차 접근만 가능합니다. 삽입 및 삭제 규칙을 따르는 컨테이너입니다. 원칙을 따릅니다. LIFO(후입선출) 삽입과 삭제가 한쪽에서 일어나는 방식 맨 위 . 스택에는 유사한 데이터 유형의 요소를 삽입할 수 있습니다. 즉, 다른 데이터 유형 요소를 동일한 스택에 삽입할 수 없습니다. 두 가지 작업은 LIFO에서 수행됩니다. 푸시 그리고 작업.

스택 대 큐

스택에서 수행할 수 있는 작업은 다음과 같습니다.

    푸시(x):스택의 맨 위에 요소를 삽입하는 작업입니다. 에서 푸시 함수를 사용하려면 스택에 삽입하려는 요소를 전달해야 합니다.팝():스택의 맨 위에서 요소를 삭제하는 작업입니다. 에서 팝() 함수에서는 인수를 전달할 필요가 없습니다.엿보기()/상단():이 함수는 스택에서 사용 가능한 최상위 요소의 값을 반환합니다. pop()과 마찬가지로 최상위 요소의 값을 반환하지만 스택에서 해당 요소를 제거하지는 않습니다.비었다():스택이 비어 있으면 이 함수는 참 값을 반환하고 그렇지 않으면 거짓 값을 반환합니다.가득():스택이 가득 차면 이 함수는 참 값을 반환하고 그렇지 않으면 거짓 값을 반환합니다.

스택에서는 맨 위 마지막으로 삽입된 요소를 추적하는 데 사용되는 포인터입니다. 스택을 구현하려면 스택의 크기를 알아야 합니다. 스택의 크기를 얻으려면 메모리를 할당해야 합니다. 스택을 구현하는 방법에는 두 가지가 있습니다.

    공전:스택의 정적 구현은 배열의 도움으로 수행될 수 있습니다.동적:스택의 동적 구현은 연결 목록을 사용하여 수행할 수 있습니다.

대기열이란 무엇입니까?

스택과 큐의 유사점

스택과 큐 사이에는 두 가지 유사점이 있습니다.

    선형 데이터 구조
    스택과 큐는 모두 선형 데이터 구조입니다. 즉, 요소가 순차적으로 저장되고 단일 실행으로 액세스됩니다.유연한 크기
    스택과 큐 모두 크기가 유연합니다. 즉, 런타임 요구 사항에 따라 늘리거나 줄일 수 있습니다.

스택과 큐의 차이점

스택 대 대기열

스택과 큐의 차이점은 다음과 같습니다.

비교의 기초 스택 대기줄
원칙 이는 마지막에 삽입된 요소가 가장 먼저 삭제된다는 것을 의미하는 LIFO(Last In-First Out) 원칙을 따릅니다. 이는 FIFO(선입선출) 원칙을 따르며, 이는 먼저 추가된 요소가 목록에서 제거되는 첫 번째 요소가 됨을 의미합니다.
구조 삽입과 삭제가 모두 수행되는 끝이 하나만 있으며 해당 끝을 상단이라고 합니다. 두 개의 끝, 즉 앞끝과 뒤끝이 있습니다. 앞쪽 끝은 삭제에 사용되고 뒤쪽 끝은 삽입에 사용됩니다.
사용된 포인터 수 여기에는 최상위 포인터라고 알려진 포인터가 하나만 포함됩니다. 최상위 포인터는 마지막으로 삽입된 주소 또는 스택의 최상위 요소를 보유합니다. 여기에는 두 개의 포인터 전면 및 후면 포인터가 포함되어 있습니다. 전면 포인터는 첫 번째 요소의 주소를 보유하고 후면 포인터는 대기열의 마지막 요소 주소를 보유합니다.
수행된 작업 푸시와 팝이라는 두 가지 작업을 수행합니다. 푸시 작업은 목록에 요소를 삽입하고 팝 작업은 목록에서 요소를 제거합니다. 주로 enqueue와 dequeue라는 두 가지 작업을 수행합니다. 대기열에 넣기 작업은 대기열에 요소를 삽입하는 작업을 수행하는 반면 대기열에서 빼기 작업은 대기열에서 요소를 삭제하는 작업을 수행합니다.
빈 상태 검사 top==-1이면 스택이 비어 있음을 의미합니다. front== -1 또는 front = Rear+1이면 대기열이 비어 있음을 의미합니다.
전체 상태 검사 top== max-1인 경우 이 조건은 스택이 가득 찼음을 의미합니다. Rear==max-1인 경우 이 조건은 스택이 가득 찼음을 의미합니다.
변형 유형이 없습니다. 우선순위 큐, 순환 큐, 이중 종료 큐의 세 가지 유형이 있습니다.
구현 구현이 더 간단합니다. 스택보다 구현이 비교적 복잡합니다.
심상 스택은 수직 컬렉션으로 시각화됩니다. 대기열은 수평 컬렉션으로 시각화됩니다.