プログラムの設計・アルゴリズム 寄りの話題
情報・データをいかに保存・管理するか?が問題となるよくいわれることだが・・・
「アルゴリズム」 + 「データ構造」 = 「プログラミング」
仕事の処理法 データの記憶法 プログラミング言語による表現
・・・つまりどのようなデータ構造を使うかによってプログラム(アルゴリズム)側の負担が変化する
この授業で関係ありそうなデータ構造(教科書で参照していそうな)・・・配列順番に並んだデータ・リスト。
各要素を添字で指定する。
文字列(文字が連続して並んでいる構造)
→ 1次元配列
リスト各要素をポインタを使用して結びつけたリスト。
各要素は順番に並んでいる必要はない。
リストを正順にのみたどれるものを片方向リスト。
正・逆両方向にたどれるものを双方向リストという。
スタック要素を下から順に積みあげていく。必要に応じて上から順に取り出していくような形のデータ構造。
データの入り口と出口は1つだけであり、後から入れた要素を先に取り出す必要あり。
LIFO:Last-In First-Out
キュー(待ち行列)スタックと同じようにデータを積みあげるが、データの取り出しは到達が早い順でおこなわれる。
データの入り口と出口は1つだけであり、先に入れた要素を先に取り出す必要あり。
FIFO:First-In First-Out