3

List の Linked-List 実装が、Array ベースの配列実装よりも優れている点と、その逆の利点は何ですか?

まず、次のノードへの参照を保持するために追加の 4 バイトのスペースを使用する必要があり、配列はそれを行う必要がないため、連結リストは配列よりも多くのスペースを使用することを知っています。したがって、配列はより少ないスペースを使用します。

連結リストが配列の実装に勝る利点は、初期化時に配列のサイズが固定され、配列のサイズを増やすコードを記述する必要があるため、連結リストの実装と比較すると不利になる可能性があることです。

長所と短所について何か他のアイデアはありますか?

4

1 に答える 1

2

配列の場合、インデックス (一定時間の複雑さ O(1) ) があれば、任意の要素にアクセスできます。ただし、リストの場合、インデックスがあってもアクセスするには1つずつ反復する必要があります(時間の複雑さO(n))

リストの場合、要素の挿入と削除には一定の時間がかかります (O(1))。ただし、配列の場合、挿入と削除には O(n) 時間がかかります。

並べ替えに関しては、リストの実装は配列の実装よりも優れています。

于 2013-10-07T07:04:22.980 に答える