web-dev-qa-db-ja.com

std :: listとstd :: vector-両方の長所?

ベクター対STLのリスト

  • std :: vector:最後の挿入は一定の償却時間ですが、他の場所への挿入はコストのかかるO(n)です。

  • std :: list:要素にランダムにアクセスすることはできないため、リスト内の特定の要素にアクセスすると負荷が高くなる可能性があります。

O(1)時間内の任意のインデックスで要素にアクセスできるようにするだけでなく、O(1)時間。何千ものエントリを管理できる必要もあります。そのようなコンテナはありますか?

編集:O(1)でない場合、一部のX << O(n)?

4
super

いくつかのデータ構造を見てください。

  • The Rope
    配列のツリー。高速なインデックス検索のために、ツリーは配列インデックスでソートされます。
  • B +ツリー
    ソートされた配列のソートされたツリー。このことは、ほとんどすべてのデータベースで使用されています。

どちらもO(1)それは不可能なので不可能ではありませんが、かなり良いです。

0
Zan Lynx