こんにちは!今プログラミング学習を始めてまもないものです。今日はデータ構造について学んだのでそれをアウトプットしていきたいと思います。
データ構造
データ構造とはデータを保持する形式や方法のことを言います。
リスト
リストは要素が順番に並んだデータ構造のことを言います。リストの特徴としては、要素を編集しやすいということです。
スタック
スタックは Last in, First outと言い表されるように、最後に入ったものが最初に出ていくというデータ構造です。イメージとしては本などを積み重ねていくような感じ。
キュー
キューは先ほどのスタックと違い First in, First outと言い表されるように、最初に入ったものが最初に出てゆくというデータ構造です。一方通行のトンネルといった感じでしょうか。
連想配列(ハッシュ テーブル,辞書,マップ)
連想配列は指定されたキーに対応する値を素早く見つけだせるように、キーと値を関連付けてデータを保持するデータ構造です。
Pythonでは辞書と呼ばれる。
ツリー
ツリーはノード(線と線の結び目)を接続して階層構造を表現します。ツリーには種類がいくつか存在します。
バイナリーツリー
バイナリーツリーは各ノードが最大で2つのこしか持たないツリー構造のことを言います。
バイナリーツリーは基本左にリンクする子は親より小さくなり、右にリンクする子は親よおり大きくなるという法則があります。
バランスドツリー
バランスドツリーとはルートノードからリーフノードの高さをできるだけ等しくしたツリー構造のことです。
ツリーの高さを等しくしないと、処理に時間がかかってしまうなどのデメリットがあるため、バランスドツリーは有効です。
参考URL