リンクリスト

複数レベルのリンク リストを平坦化する (深さ方向)
2026

複数レベルのリンク リストを平坦化する (深さ方向)

リンクされたリストでは、次のポインタに加えて、各ノードに子ポインタがあり、別のリストを指す場合とそうでない場合があります。これらの子リストには、それ自身の 1 つ以上の子が含まれ、複数レベルのリンクされたリストが作成される場合があります。リストの最初のレベルの先頭を指定します。タスクは、すべてのノードが単一レベルのリンクされたリストに表示されるようにリストを平坦化することです。最初のレベルのすべてのノードが最初に来て、次に 2 番目のレベルのノードが来るというようにリストを平坦化します。

二重リンクリストによるハッシュテーブルチェーン
2026

二重リンクリストによるハッシュテーブルチェーン

前提条件 - ハッシュの概要、単一リンク リストを使用したハッシュ テーブル、および Java での個別のチェーンを使用した独自のハッシュ テーブルの実装 二重リンク リストによるチェーンを使用したハッシュ テーブルの実装は、単一リンク リストを使用したハッシュ テーブルの実装に似ています。唯一の違いは、リンク リストのすべてのノードが次のノードと前のノードの両方のアドレスを持っていることです。これにより、リストへの要素の追加およびリストからの要素の削除のプロセスが高速化され、時間の複雑さが大幅に軽減されます。

O(1) 空間で次のランダムなポインターを使用してリンクされたリストのクローンを作成します。
2026

O(1) 空間で次のランダムなポインターを使用してリンクされたリストのクローンを作成します。

サイズ N のリンク リストが与えられ、各ノードには 2 つのリンクがあります。次のノードを指す次のポインタと、リスト内の任意のランダム ノードを指すランダム ポインタです。タスクは、このリンク リストのクローンを O(1) スペース、つまり余分なスペースなしで作成することです。