未来電子テクノロジーでインターンをしている@yuka_ponです。
プログラミングの勉強をしていて、「データ構造」を聞いたことのある方はいませんか?
データ構造とは、パソコン上のプログラムにおいて必要となる大量のデータを管理した構造を指します。
では、どのようにして管理しているのでしょうか?
今回は、データ構造で学んだことを記します。
抽象データ型とクラス
プログラミングにおけるデータ構造は、基本的に抽象データ型またはクラスで成立しています。
データ構造とそれに伴う操作を含めたものを意味します。
この中には、さらに次のようなものがあります。
- スタック :最後にリスト(配列)に含んだものが最初に出ていく、LIFO(Last In, First Out)を使った構造。データ保存をしたいときに使われる。
- キュー :最初にリストに入ったものが最初に出ていく、FIFO(First In, First Out)を使った構造。
連想配列
連想配列とは、キューとして指定した値を見つけ出すために、キーと値を関連付けてデータ保存をした構造です。
ハッシュ法で保存していくことから、ハッシュテーブルとも呼ばれます。
連結リスト
連結リストとは、リストの各要素にリンクが含まれているものです。
次のリンクに移るだけのリストを単方向リスト、前または次のリンクに移るリストを双方向リストと呼びます。
さらに、先端から終末まで繰り返してリンク先に移れるリストを循環リストと呼びます。
このような様々なリストは、次のような構造で表します。
- ツリー:階層構造で表したリンク。バイナリーツリー(最大2つまでのリンクしか持たないツリー)などもある。
- ヒープ:半順序集合で表したツリー。
さいごに
データ構造について詳しく知りたい方は、コチラをご覧ください。