はじめに
未来電子テクノロジーでインターンをしているやっきーです。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。
データ構造の種類
この記事では以下のデータ構造について取り上げます。
- 配列
- スタック
- キュー
- 連想配列
- 連結リスト
配列(array)
複数の数値、文字などが並んでいるデータ構造です。
要素の番号にしたがって、値が順番に並んでいます。N個の要素がある場合、要素の番号は0番からN-1番までとなります。番号を指定することで、特定の要素の値を取り出すことができます。図に示すと以下のようになります。
スタック(Stack)
先入れ後出しのデータ構造です。英語ではLast In, First Out(略してLIFO)といいます。先に入れたデータを奥にしまい、直前に入れたものから引き出していきます。
スタックにデータを入れることをPush(プッシュ)、データを取り出すことをPop(ポップ)といいます。図に示すと以下のようになります。
キュー(Queue)
先入れ先出しのデータ構造です。英語ではFirst In, First Out(略してFIFO)といいます。
先に入れたデータを出口側にしまい、古いものから引き出していきます。
キューにデータを入れることをEnqueue(エンキュー)、キューからデータを出すことをDequeue(デキュー)といいます。図に示すと以下のようになります。
連想配列
配列の一種で、配列の添字(要素番号)の代わりに任意の数値や文字列を含んで管理できるものです。
要素の名前をキー、要素の中身をバリューといいます。Pythonでは連想配列のことを辞書といいます。
連結リスト
連結リストには、単方向リスト、循環リスト、双方向リスト、三種類があります。
単方向リスト
それぞれの要素が次の要素を指し示すリストです。最後の要素は指し示すものがないのでNULLとします。
循環リスト
単方向リストとほとんど同じですが、最後の要素が先頭の要素を指し示します。これにより、リストの先頭に戻ってくることができます。
双方向リスト
それぞれの要素が前後の要素を指し示すリストです。そのため、リストを戻って参照することもできます。
終わりに
今回は、データ構造の様々な形態を主に図で表現しました。今後は、実際にコードで書き記したいと思います。
参考URL
リスト(配列) : データ構造
【python入門者必見!】配列・連想配列を徹底解説 | プログラミング入門ならWEBCAMP NAVI