2017-11-29 7 views
0

이중 연결된 큐를 구현하도록 요청 받았습니다. 그러나 단일 연결 큐는 모든 주요 기능이 big-Theta 1에서 실행된다는 점을 알고 있습니다. 기본적으로 FIFO 구현 (deque와 같은 특수 큐는 포함하지 않음)에 대해 이야기하고 있습니다. 이중 링크 구현을 사용하여 다른 사람들이 큐를 구현하는 것을 보았고 각 노드가 2 포인터 (이전 &)를 필요로하기 때문에 더 많은 스토리지를 소비한다는 것을 알고 있습니다. 단일 연결 큐를 통해 이중 연결된 큐의 이점이 있습니까?!이중 연결 큐가 단일 연결 큐보다 장점이 있습니까?

+0

이중 종료 대기열에 대해 들었습니까? ,이 사용자는 양쪽 끝에서 대기열에 넣고 양보 할 수 있습니다. 이는 응용 프로그램에 따라 다릅니다. –

+0

이 링크를 통해 동일한 http://www.geeksforgeeks.org/doubly-linked-list/에 접속할 수 있습니다. – iwayankit

+0

이중 끝 대기열 (deque)을 알고 있지만 FIFO가 정상 대기열 구현에 관심이 있습니다 @LalitVerma –

답변

0

장점은 이중 연결 목록에서 어느 방향으로도 반복 할 수 있다는 것입니다. 또한 데이터 개체의 크기가 크면 추가 메모리 오버 헤드가 큰 비율이 아닙니다.

+0

일반적인 큐 조작 (enqueue, dequeue, clear 또한 get 앞/뒤 값과 길이 가져 오기, isEmpty, isFull 등), 두 방향으로 반복 할 필요가 없습니다. 대기열 및 기타 사소한 기능을 인쇄하는 경우를 제외하고 어떤 방향으로도 반복 할 필요가 없습니다. 나는 여전히이 장점에 대해 안다. @Dragonthoughts –

+0

처음부터 끝까지 반복하지 않고 어떻게 단일 연결 큐로 양쪽 끝에서 큐를 deque합니까? 당신은 당신의 새로운 목적으로 그것을 만들기 위해 당신의 목적이 무엇인지를 알아야합니다. – Dragonthoughts

+0

그 이유는 내 질문에 대기열의 단어 "주요 기능"을 포함 시켰습니다. 당신은 특별한 대기열 (deque)에 대해 이야기하고 있지만, 문제는 주로 FIFO 구현과 관련되어 있습니다. 어쩌면 저의 질문을 더 명확하게 업데이트하도록하겠습니다. –