ホームページ  >  記事  >  ウェブフロントエンド  >  データ構造とアルゴリズム 0日目

データ構造とアルゴリズム 0日目

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-06 06:20:031100ブラウズ

Data Structures & Algorithm Day 0

0日目

基本的なデータ構造

JavaScript のすべてのコード例を見ていきますが、これらの概念は言語に依存しません

  1. 配列

配列は、連続したメモリ位置に格納される、通常は同じ型の要素のコレクションです。

本のリストとしての配列:
特定の数の本を保管する棚があると想像してください。棚の各スロットは配列のインデックスのようなもので、各本はそのインデックスに格納されている要素のようなものです。

主な特徴:

インデックス: 各要素にはインデックス (言語に応じて 0 ベースまたは 1 ベース) によってアクセスできます。


const fruit  = ['Banana','Apple','Grape', 'Pineapple']

console.log(fruit[0]) //  Banana is accessed 0 index
console.log(fruit[3]) // Pineapple is accessed 3 index


固定サイズ: 一度宣言すると、配列のサイズは変更できません (静的配列)。
静的配列を使用する言語では、配列を宣言するときに、作成時にそのサイズを指定する必要があります。これは、サイズ 5 の配列を宣言した場合、その配列に格納できる要素は 5 つだけであり、後でサイズを変更することはできないことを意味します。配列がいっぱいになると、要素を追加したり、縮小したりすることはできません。

ただし、JavaScript 配列は本質的に動的であるため、ほとんどの場合、この固定サイズの制限はありません。しかし、固定サイズの配列を概念的に理解するには、JavaScript 配列が拡大または縮小できない場合を想像してください。


let fixedArray = new Array(3); // Array with a fixed size of 3
fixedArray[0] = 'apple';
fixedArray[1] = 'banana';
fixedArray[2] = 'cherry';

// Now if you try to add another item:
fixedArray[3] = 'date'; // This would throw an error or overwrite an existing element (hypothetically)


console.log(fixedArray) // [ 'apple', 'banana', 'cherry', 'date' ]


ランダム アクセス: インデックスを使用して任意の要素に直接アクセスできます。


const fruit  = ['Banana','Apple','Grape', 'Pineapple']

console.log(fruit[0]) // index 0 is the Banana 
console.log(fruit[3]) // index 3 is the Pineapple 


長所:

  • インデックスによる要素への高速アクセス (O(1) 時間計算量)。
  • 実装が簡単です。

短所:

  • 要素の移動が必要になる場合があるため、挿入と削除はコストがかかります (O(n) 時間の計算量)。
  • 固定サイズ (一部の言語) のため、柔軟性が低くなります。

以上がデータ構造とアルゴリズム 0日目の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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