グラフ(Graph)のデータ構造と基本用語の定義
頂点(ノード)と、頂点同士の関係を表したデータ構造です。
数学的には、グラフは以下の2つから構成されます。
頂点(ノード)の集合頂点同士がつながっているか(隣接しているか)を表す、辺(エッジ)の集合 ...
セット(Set)・集合のデータ構造
Setとは、数学における集合をデータ構造として表したものです。順序はなく、変更可能で、重複した要素を持ちません。
要素の挿入・削除・検索を高速に行うことができる特徴があります。
プログラム例Pythonの例Py ...
キュー(Queue)・待ち行列のデータ構造
キューは待ち行列とも呼ばれます。最初に格納したデータが最初に出てくるような、線形なデータ構造をしていて、このような順序をFirst In First Out (FIFO)と言います。
例えると、レストランにできる行列と一緒 ...
スタック(Stack)のデータ構造
線形なデータ構造の1つです。データを格納する操作(push)と取り出す操作(pop)について、対象になるデータの順番が決められています。
スタックは、最後に格納したデータが最初に出てくるようなデータ構造をしてい ...
連結リスト(Linked List)のデータ構造
連結リストはノードと呼ばれるデータの塊が、複数繋がってできたデータ構造です。
1つのノードは、格納する値自体と、次のノードへのアドレスを保持します。先頭から各ノードを辿ることで、線形に連結リストを探索すること ...
データ構造とは何か
データ構造とは、「コンピューターがデータを効率的に扱うための方法や構造のこと」です。これには様々な種類があり、それぞれに特徴があります。
アルゴリズムの話をする際に必ずと言っても良いほど出てくるのがデータ構造 ...
配列(Array)のデータ構造
配列は、連続したメモリ領域にデータを格納するシンプルなデータ構造です。データにアクセスしたい時は、配列の先頭から見て何番目のデータを取り出したいか(index)を指定します。
プログラミングを学ぶときに、必ずと学ぶ ...
辞書(Dictionary)・連想配列(Associative array)・ハッシュ(Hash)・マップ(Map)のデータ構造
「辞書」は「連想配列」・「ハッシュ」・「マップ」とも呼ばれるデータ構造の1つです。
鍵(key)の集合で構成されており、それぞれのkeyは1つの値と結びついています。keyを指定することで、それ ...
ソートアルゴリズムの概要
ソート(整列)とは、配列などのデータ構造について、ある順序関係に沿うように順番を入れ替えることです。簡単に言えば、小さいものから大きいものへと並ぶように整列させるようなものです。
ソートを行う場面は非常に多いため ...
クイックソート(QuickSort)
クイックソートは分割統治法を用いたソートアルゴリズムの一種です。安定ではない内部ソートとなっています。マージソートの様に、再帰関数を用いることで配列を2分割してソートします。
マージソートは分割した配列を ...