Table of Contents
データ構造の設計では、アクセスと変更操作に関連するコストを理解しています。配列とリストは、異なるアプリケーションに適した性能特性を持つ、共通の構造です。
配列:アクセスと変更
Arrays は、インデックス作成、検索処理の効率性を兼ねた要素への定常アクセスを提供します。特定のインデックスで要素を変更しても、一定の時間で発生します。ただし、配列の途中で要素をインサートまたは削除する場合には、その後の要素をシフトする必要があるため、コストがかかります。
リスト:アクセスと変更
リストは、リンクリストなどのリストは、通常、線形時間複雑さをもたらすアクセス要素への横断を必要とします。特定の位置の要素にアクセスすると、ノードを介して反復を伴う場合があります。 ノードが既に配置されているときに、位置が既知の場合、インサートや削除などの変更が効率的なことができます。
設計検討
配列とリストの比較は、アプリケーションのアクセスと変更パターンによって異なります。 配列は、高速なアクセスが必要になると適しており、変更は不十分です。 頻繁にインサートや削除が必要な場合は、特にデータ構造の中央にリストが優先されます。
- 配列はO(1)[]]アクセス時間を提供します
- 配列は、中央にコストのかかるインサート/削除を持っています
- リストはO(n)[アクセス時間を提供します
- ノード参照が知られているときに、リストは効率的なインサート/削除を有効にします