ホームページ >ウェブフロントエンド >フロントエンドQ&A >ノードはリンクリスト構造を持っていますか?

ノードはリンクリスト構造を持っていますか?

WBOY
WBOYオリジナル
2022-07-04 16:11:251555ブラウズ

ノードにはリンク リスト構造があり、リンク リストはデータを格納するための構造です。ファイル書き込み可能なストリーム方式が機能する場合、書き込まれたコンテンツの一部はキャッシュ領域にキューイングされる必要があり、先入れされます。規則に従って、これらのキューに入れられたデータを保存するために、新しいバージョンのノードはリンク リスト構造を使用してこれらのデータを保存します。

ノードはリンクリスト構造を持っていますか?

この記事の動作環境: Windows 10 システム、nodejs バージョン 12.19.0、Dell G3 コンピューター。

ノードにはリンク リスト構造があります

リンク リストはデータを格納するための構造です。

ファイル書き込み可能ストリーム書き込みメソッドが動作している場合、書き込まれたコンテンツの一部はバッファーにキューに入れられ、先入れ先出しルールに従う必要があります。

これらのキューに入れられたデータを保存するために、新しいバージョンの Node はリンク リスト構造を使用してこれらのデータを保存します。

配列を使用してデータを保存してみてはいかがでしょうか?

リンク リスト構造と比較すると、配列には明らかな欠点がいくつかあります。

データを格納する配列の長さには、多くの言語で上限があります。

配列の折りたたみの問題。要素を挿入または削除すると、他の要素の位置が移動する可能性があります。

JavaScript では、配列は実際にはオブジェクト型であり、使用効率が低くなります。

上記欠点は、リンク リストと比較すると、配列構造は実際の使用において依然として非常に強力であるということだけです。

リンク リスト

リンク リストは、一連のノードで構成されるコレクションです。

各ノードには、次のノード参照を指す属性 (next) があります。

これらの参照を次のノードに結合すると、チェーンが形成されます。

一般的なリンク リストの分類

双方向リンク リスト: 最も一般的に使用され、クエリ速度が速くなります

一方向リンク リスト: この例では一方向のリンク リストについて説明します。書き込み可能なストリームの書き込みメソッドで使用するだけで十分です。

循環リンク リスト

一方向のリンク リスト構造

ノードはリンクリスト構造を持っていますか?

リンク リスト構造は実際にはコンテナであり、その中には head、null、中間ノードの 3 つのオブジェクトが格納されます。

ノードノードには、次のノードノードを指す next 属性があります。

同時に、ノードノードには、現在のノードノードの特定のデータを格納するために使用される要素属性もあります。

head は最初のノードを指し、次に next が指す順序で最後のノードまで渡され、その next が null を指します。

デフォルトでは、リンクされたリストは空 (head = null) であり、その中にノードノードはありません。

いわゆる二重リンク リストでは、前のノードを指す prev に似た属性を各ノードに追加します。

循環リンク リストは、先頭ノードと末尾ノードを接続します。

リンク リストの役割

リンク リストの外観は、主にデータを保存するために使用されます。

この関数は配列の関数と似ているため、リンク リストの一般的なアクションは、データの追加、削除、変更、クエリ、クリアなどの操作です。

これらは、リンク リスト構造を作成するときに自分で実装する必要があります。

一方向リンク リストの実装

一方向リンク リスト構造の実装をマスターして、ファイルの作成時にキューに入れて書き込む必要があるデータを格納します。書き込み可能。

リンク リスト構造には、ノード、ヘッド、および null が含まれます

デフォルトのリンク リストは空です。つまり、ヘッドは null を指します

リンク リストの操作は次のとおりです。配列と同様なので、属性レコード ノードが必要です。 番号: size

各ノードには、次のデータを指す属性が必要です。 next

ノード自体もデータを格納する必要があります。属性を使用して保存する: element

リンク リストを使用する一般的な構造の動作には、追加、削除、変更、クエリ、クリア

推奨される学習: "nodejs ビデオ チュートリアル"

以上がノードはリンクリスト構造を持っていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。