JavaScriptにおける連結リストの実装とLeetcodeインタビュー問題への解決
6269 ワード
導入
計算機科学において,noデータ構造は,効率的なアクセスと修正を可能にするデータ組織,管理,記憶形式である.データ構造は大量のデータを効率的に管理する手段を提供する.
配列、リンクリスト、レコード、ユニオン、バイナリツリー、グラフを含むデータ構造のさまざまな種類があります.
この記事では、リンクリスト、それは実装、様々な方法をリンクリストといくつかのインタビューの質問に行うことができます見ていきます.
どのようなリンクリストですか?
対角リストともいう.ノードは任意のデータ型(原始または非原始)です.各ノードは値を持ち、リンクリストの次のノードにポイントします.すなわち、ノードは次のノードを意識している.
リンクリストは、配列の後の2番目の最も使用されるデータ構造です、そして、それは配列と類似しています.リンクリストのエントリポイントはheadと呼ばれ、最後のノードはNULLを指します.リンクされたリストが空の場合、頭はNULLになります.
連結リストの種類
がある
three
リンクリストの基本的な型は、なぜリンクリストを使用しますか?
配列のように、LinkedListはデータの追加、削除、挿入のようなすべての操作を行う線形データ構造です.以下はリンクリストの利点です.
連結リストの制限
リンクのリストと配列のための時間の複雑さとビッグO表記!
連結リストの実施
LinkedList
リストの初期化head
, and tail
to null
とコンストラクタ関数の長さ0です.new
キーワード.まとめ
Linkedlistのメソッド
prepend () :このメソッドはノードを先頭のリストに追加します.
printdata () :このメソッドはリストに存在するすべてのノードを出力します.これは、ノード、ポインタ、次のノードを示しています.
add () :リンクされたリストの最後のノードとして新しいノードを追加します.
getlength () :リストの長さを返します.
find () :このメソッドは、ノードが引数として渡されたことを検出します.または
null
を返します.delete () :引数から参照するノードを削除します.
code snippets available on
Leetcodeインタビュー
Question 1
問題1の解決
解説
LinkedListのノードを削除すると、ターゲットの先の次のノードへの移動ポインタが含まれます.
node.val = node.next.val ;
Basically saying, where we have
5
as theval
, replace it with nextval
which is1
. this remove 5 from the node.
node.next = node.next.next;
here, our node is an array, [4,5,1,9]. our
node.next.next
will be [1,9]. This delete the node and its value.
概要
本稿では、我々は議論した
linkedlist
, 種類のlinkedlist
, 利益と制限array
, leetcode問題に使用できるメソッドとソリューション.読書ありがとう
あなたが新しい記事を発表したときに通知を取得したいですか?クリックhere
ISIAKA ABDULAHI
Reference
この問題について(JavaScriptにおける連結リストの実装とLeetcodeインタビュー問題への解決), 我々は、より多くの情報をここで見つけました https://dev.to/isiakaabd/implementation-of-linked-list-in-javascript-and-solution-to-leetcode-interview-question-35ldテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol