高速な挿入と削除が必要な二重リンク リストがあります。挿入または削除する場所を見つけるために全体をどちらの方向にも横切ることができますが、挿入または削除ポイントを見つけるより賢い方法はありますか? 最初に頭に浮かんだのは二分探索でしたが、これはインデックスのない (配列ではない) リンク リストであるため、リンク リストをジャンプする方法がわかりません。
挿入と削除を可能な限り高速にするための正しいアプローチは何ですか?
高速な挿入と削除が必要な二重リンク リストがあります。挿入または削除する場所を見つけるために全体をどちらの方向にも横切ることができますが、挿入または削除ポイントを見つけるより賢い方法はありますか? 最初に頭に浮かんだのは二分探索でしたが、これはインデックスのない (配列ではない) リンク リストであるため、リンク リストをジャンプする方法がわかりません。
挿入と削除を可能な限り高速にするための正しいアプローチは何ですか?
二重リンク リストの代わりにB ツリーを使用するか、他の回答で述べたようにSkip_listを使用できます。二重リンクリストをすばやく検索するには、間違ったデータ構造です。
あなたが指摘しているように、リンクされたリストはインデックス可能ではないため、リストをループして正しい挿入ポイントを見つける方法はありません...