タグ付けされた質問 「queues」

1
固定サイズの既存のデータ構造があり、新しい要素が挿入された場合、最も古い/最後の要素を押し出しますか?
新しい要素が挿入された場合に最も古い/最後の要素をプッシュするデータ構造を探しています。たとえばD、構造を表します。Dタイプの3つの要素が含まNumber Dのデフォルト値に初期化される1, 2とし3。 D = [ 1 、2 、3 ]D=[1、2、3]D = [1, 2, 3] 場合にNumber値が含まれていることが5中に挿入されD、3押し出さされ、一方1及び2右にシフトされます。 D = [ 5 、1 、2 ]D=[5、1、2]D = [5, 1, 2] 最初に頭に浮かぶのは配列ですが、定義にはプッシュ動作が含まれていません。

2
単一リンクリストで実装されたキューのエンキューおよびデキューの時間の複雑さはどれくらいですか?
リンクリストデータ構造で実装されたキューの時間の複雑さを理解しようとしています。私の本では、次の方法でO(1)時間でキューを実装できると述べています。 奥に入れる 先頭でデキュー そしてそれはまた言います 要素を尾に追加するのは一定の時間ですが、新しい尾を見つける必要があるため、要素を尾から削除することはO(n)であることに注意してください 新しいノードをキューの先頭(エンキュー)に追加するには、ヘッドポインターがあるためO(1)がかかることを知っています。同様に、先頭のノードを削除すると(デキュー)、O(1)も使用されます。しかし、要素を後ろ(エンキュー)に追加するとO(1)がかかり、削除(デキュー)するとO(n)になる理由がわかりません。どちらの場合も(後ろでの追加/削除)はテールポインターを見つける必要があるため、トラバースする必要があるため、後ろでのキューへの登録がO(1)ではなくO(n)である場合、私にはより理にかなっています。リスト全体。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.