データ構造入門

データ構造とは

データ構造とは、「コンピューターがデータを効率的に扱うための方法や構造のこと」です。これには様々な種類があり、それぞれに特徴があります。

アルゴリズムの話をする際に必ずと言っても良いほど出てくるのがデータ構造 ...

データ構造入門

配列とは

配列は、連続したメモリ領域にデータを格納するシンプルなデータ構造です。データにアクセスしたい時は、配列の先頭から見て何番目のデータを取り出したいか(index)を指定します。

プログラミングを学ぶときに、必ずと学ぶ ...

データ構造基本

辞書はどのようなデータ構造か

「辞書」は「連想配列」・「ハッシュ」・「マップ」とも呼ばれるデータ構造の1つです。

鍵(key)の集合で構成されており、それぞれのkeyは1つの値と結びついています。keyを指定することで、それ ...

ソート

ソートとは

ソートとは、配列などのデータ構造について、ある順序関係に沿うように順番を入れ替えることです。簡単に言えば、小さいものから大きいものへと並ぶように整列させるようなアルゴリズムのこと。

ソートを行う場面は非常に多いた ...

ソート基本, ソート

クイックソートとは

クイックソートは分割統治法を用いたソートアルゴリズムの一種です。安定ではない内部ソートとなっています。マージソートの様に、再帰関数を用いることで配列を2分割してソートします。

マージソートは分割した配列を ...

ソート基本

マージソートとは

マージソートは分割統治法を用いたソートアルゴリズムの1つです。配列を2分割することを繰り返し、小さい配列を一つ一つソートしてから「マージ」(併合)することで、最終的に高速にソートができます。

最終的に1つの ...

ソート基本

挿入ソートとは

挿入ソートとは、安定な内部ソートのアルゴリズムの一つです。小さい要素を前に「挿入」するために、他の要素を前に1つずつ前にずらしていきます。

既にソートされた配列の後ろに、いくつか要素を追加してソートしたい時に ...

ソート基本

バブルソートとは

バブルソートは安定なソートアルゴリズムの一つです。隣り合う要素の大小関係を見て、入れ替えながらソートしていきます。

他のソートには最悪計算時間が\(O(nlogn)\)のものもありますが、バブルソートの計算 ...

ソート基本

選択ソートとは

ソートアルゴリズムの中でも、最も基本的なアルゴリズムの一つです。配列の中から最小値や最大値を探して、先頭や最後尾と入れ替えながらソートしていきます。

他のソートには計算量が\(O(nlogn)\)のものもあり ...

探索基本

二分探索とは

二分探索とは、ソート済みである配列の中から、目的の値が存在するかを調べる探索アルゴリズムです。高速でわかりやすいため非常に良く使われます。

線形探索はソートしていない配列でも探索することができました。二分探索は ...