インデックスと値が同じ範囲にある、重複のない整数の順序付きリストを保持できるデータ構造を探しています。
効率を上げるには、重要度の高い順に4つの主要な操作が必要です。
- 特定のインデックスから値を取得する
- 与えられた値のインデックスを見つける
- 特定のインデックスに値を挿入する
- 特定のインデックスの値を削除する
配列を使用すると、O(1)に1がありますが、2はO(N)であり、挿入と削除にはコストがかかります(O(N)もそうだと思います)。
リンクリストにはO(1)の挿入と削除がありますが(ノードがある場合)、1と2はO(N)であるため、ゲインが無効になります。
2つの配列a[index]=valueとb[value]= indexを維持しようとしました。これにより、1と2がO(1)になりますが、3と4はさらにコストのかかる操作になります。
これにより適したデータ構造はありますか?