ホームページ  >  記事  >  ウェブフロントエンド  >  リンクされたリストの N 番目のノードを取得する関数を作成するための JavaScript プログラム

リンクされたリストの N 番目のノードを取得する関数を作成するための JavaScript プログラム

王林
王林転載
2023-08-25 12:49:081129ブラウズ

用于编写获取链表中第 N 个节点的函数的 JavaScript 程序

#リンク リストは、すべてのノードが次のノードのアドレスを格納することによって相互に接続される線形データ構造です。リンク リスト内の n 番目のノードを見つけることは、指定されたリンク リスト内の n 番目のノードの値を取得することを意味します。これは、反復方法と再帰的方法の両方で実行できます。

###例### リーリー ###出力### リーリー

説明: 3 番目のノードの値は 3 です。

反復方法

このメソッドでは、最後のノードまたは目的のノードに到達するまで、while ループを使用してリンク リストを直接走査します。

###例### リーリー ###出力### リーリー

時間と空間の複雑さ

上記のコードの時間計算量は O(N) です。ここで、N は指定されたリンク リストのサイズです。ここで指定される数値は、指定されたリンク リストのサイズよりも小さい可能性がありますが、最悪の場合、リンク リストの長さのみをトラバースすることになります。

ここでは余分なスペースを使用していません。つまり、上記のコードの時間計算量は O(1) です。

再帰的メソッド

このメソッドでは、while ループの代わりに再帰呼び出しを使用して、リンク リストを走査し、前のロジックを実装します。

###例### リーリー ###出力### リーリー

時間と空間の複雑さ

上記のコードの時間と空間の複雑さは同じで、両方とも O(N) です。ここで、N は指定されたリンク リスト内のノードの数です。ここのスペースは再帰呼び出しによるものです。

###結論は###

このチュートリアルでは、指定されたリンク リスト内の n 番目のノードを検索する JavaScript プログラムを実装しました。 n 番目のノードが存在しない場合は、そのノードが存在しないことを出力し、それ以外の場合は、そのノードに存在する値を出力します。 while ループを使用した反復的方法と再帰的方法の 2 つの方法を実装しました。どちらの時間計算量も O(N) ですが、余分なスペースを必要としないため、反復の方が優れています。

以上がリンクされたリストの N 番目のノードを取得する関数を作成するための JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。