アレイと接続リストのフィーチャー
4777 ワード
1.配列
角カッコ構文または属性アクセス者を使用する場合、配列内の要素ではなくArrayオブジェクトに関連する変数が参照されます.
const arr = [1, 2, 3, 4];
console.log(arr[1]); // 2
console.log(arr["length"]); // 4
console.log(arr["1"]); // undefined
1-1)JavaScript配列内のメモリ
※一般的な配列
一般に、配列とは、同じ大きさのメモリ空間がシームレスに連続して配列された資料構造を指す.アレイ内の要素は1つのタイプに統一され、互いに連続的に隣接しています. 密集アレイと呼ばれます.
※JavaScriptの並び
JavaScriptの配列は、配列内の要素に同じメモリ領域を割り当てる必要はなく、連続したメモリ領域も必要ありません.配列内の要素が不連続な配列. 疎アレイと呼ばれます.
1-2)アレイ要素の追加、除去
配列内の要素を追加、削除するには、次の手順に従います.
追加
1)追加するindexから、indexの後ろにあるすべての要素を1つ後ろに押します.
2)インデックスに空の場所があるため、その場所に要素を追加します.
削除
1)削除するインデックス要素を削除します.
2)インデックスが空です.(JavaScriptでnullまたはundefined)
3)indexから、後ろのすべての要素を1つ前に引く.
1~3)配列要素の検索
配列要素検索は、線形検索とバイナリ検索に分けられます.
せんけいたんさく
バイナリサーチ
2.接続リスト
2-1)接続リスト要素の追加、削除
追加
1)新しいノードポインタを追加するノードを指すノード.
2)追加するノードへのポインタを、新しいノードへのポインタに変更します.
削除
1)削除するノードの前のノードから削除するノードへのポインタを変更します.
2)削除するノードのポインタを削除します.
2-2)接続リスト要素の検索
3.整理
これまでjavascriptの配列も従来の配列(密集配列)の特徴を有すると誤って考えられてきた.
その結果,JavaScriptの配列は一般的な意味での配列ではなく,ハッシュテーブルによって実現される特殊なオブジェクトであり,メモリが不連続である可能性があることが分かった.
次回はスケジュールを整理した方が良いと思います
リファレンス
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array
https://poiemaweb.com/js-array-is-not-arrray
https://levelup.gitconnected.com/array-vs-linked-list-data-structure-c5c0ff405f16
Reference
この問題について(アレイと接続リストのフィーチャー), 我々は、より多くの情報をここで見つけました
https://velog.io/@apparatus1/배열Array과-링크드리스트Linked-List의-특징
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(アレイと接続リストのフィーチャー), 我々は、より多くの情報をここで見つけました https://velog.io/@apparatus1/배열Array과-링크드리스트Linked-List의-특징テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol