2016-12-24 3 views
0

私はデータ構造について勉強しており、スタックとキューの実装が異なると時間の複雑さに疑問を抱いています。スタックとキューの実装における操作の時間の複雑さ

キューの場合、要素が先頭または末尾にキューに入れることができましたが、動的配列の実装では、O(1)の終了時および開始時に挿入する時間が償却されます。リンクリスト実装はO(1)実装を提供します。

スタックの場合、リストの先頭または最後にノードを追加できます。単一リンクリストと配列実装はどちらもO(1)時間の複雑さを与えます。

私は何かが欠けているのですか?

答えて

0

次の挿入位置にインデックスを維持すると、挿入操作には一定の時間がかかり、O(1)が正しいことになります。

インデックスが維持されていない場合は、新しい要素を挿入するための正しい場所を検索する必要があります。この要素を挿入するのにかかる時間は、データ構造内の要素の数とともに線形に増加するため、この場合はO(n)

関連する問題