データ構造
プログラムの設計・アルゴリズム 寄りの話題
 
情報・データをいかに保存・管理するか?が問題となる

よくいわれることだが・・・

        「アルゴリズム」 + 「データ構造」 = 「プログラミング
        仕事の処理法           データの記憶法    プログラミング言語による表現

・・・つまりどのようなデータ構造を使うかによってプログラム(アルゴリズム)側の負担が変化する
 
 
この授業で関係ありそうなデータ構造(教科書で参照していそうな)・・・

配列
順番に並んだデータ・リスト。
各要素を添字で指定する。
 
文字列(文字が連続して並んでいる構造)
    → 1次元配列


リスト

各要素をポインタを使用して結びつけたリスト。
各要素は順番に並んでいる必要はない。
リストを正順にのみたどれるものを片方向リスト。
正・逆両方向にたどれるものを双方向リストという。


スタック

要素を下から順に積みあげていく。必要に応じて上から順に取り出していくような形のデータ構造。
データの入り口と出口は1つだけであり、後から入れた要素を先に取り出す必要あり。
LIFO:Last-In First-Out
 


キュー(待ち行列)

スタックと同じようにデータを積みあげるが、データの取り出しは到達が早い順でおこなわれる。
データの入り口と出口は1つだけであり、先に入れた要素を先に取り出す必要あり。
FIFO:First-In First-Out
 

 



 

Kunihiro Egami <egami@egamix.com>