スキップリストから要素を挿入または削除するのにかかる時間については、少し混乱しています。
高さHのスキップリストがあり、各レベルにn / 2^iエントリが含まれているとします。
n=キーと値のペアの総数
i=スキップリストのレベルi<=H
ここで、理論に従って、挿入操作は次のアクションを実行します
。1.キー<=挿入されているキーを見つけます。
2.このキーを挿入します
。3。ベースレベルより上のレベルにこのエントリをランダムに作成します。
スキップリストがリンクリストに基づいていると仮定しましょう。
ステップ1:O(n)を取る必要があります。
ステップ2:O(1)である必要があります。
ステップ3:O(log n)時間である必要があります。私はまだこの論理で混乱しています、そしてそれは以下の質問の一部になるでしょう
質問
上記の事実に基づいて、挿入の時間はO(n)+ O(1)+ O(log n)であるべきではありませんか?低次の項を無視すると、O(n)+ O(log n)で進む必要がありますか?
ステップ3でも、挿入されているキー<=キーを検索するには、O(n)時間かかり、次に挿入するためにo(1)時間がかかります。挿入の実行時間が非常に複雑になりますか?
スキップリストへの挿入にはO(log n)時間がかかると本は言っています。重要な情報が不足しているに違いありません。この概念をよく理解するのを手伝っていただけませんか。