2017-11-29 7 views
0

二重リンクキューを実装するように求められました。しかし、私は単一リンクキューは、すべての主要な機能が大きな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

最初から最後まで反復せずに、単独でリンクされたキューでどちらかの端からデキューする方法はありますか? あなたはあなたの最後に何を指しているのかを知る必要があります。 – Dragonthoughts

+0

それで私は質問の中でキューの "主要な機能"という言葉を含めました。あなたは特別なキュー(deque)について話していますが、私の問題は主にFIFOの実装にあります。多分私の質問をより明確にするようにしてください。 –

関連する問題