アルゴリズムとデータ構造

年度 2004
科目名 アルゴリズムとデータ構造
教員名 平賀 瑠美
授業概要 データ構造とは,コンピュータのメモリ上にデータをどのように並べるかという方法や形式のことであり,アルゴリズムとは,それらのデータ構造を持つデータを操作するための一連の手続きである.より複雑な問題を与えられたときにプログラムで対処できるようになるためには,基本的なデータ構造とアルゴリズムを知っておく必要がある. 本授業では,プログラミング作成の様々な場面に活用できるデータ構造やアルゴリズムについて学習する.講義内容をもとに,実際にJava 言語でプログラムを書き,レポートを提出することによって理解を確実なものにしていく.本授業を受講するためには,プログラミングIは必ず単位をとっておくこと.Swing を利用してコードを書くので,プログラミングIIも単位をとった後の方が望ましい. 内容は,データ構造,再帰,ソート,応用の4つに分かれている.データ構造,再帰,ソートについて2回ずつプログラム実習を行なう.
授業計画 1. データ構造(1) スタック,キュー,リスト
データ構造(2) スタック,キュー,リストを用いたプログラミング実習
データ構造(3) ハッシュ,逆ポーランド記法
データ構造(4) 逆ポーランド記法による式の計算のプログラミング実習
再帰(1) 階乗計算
再帰(2) ハノイの塔のプログラミング実習
再帰(3) 木,二分木探索
再帰(4) フラクタル図形のプログラミング実習
ソート(1) バブルソート,シェルソート
ソート(2) バブルソート,シェルソートのプログラミング実習
ソート(3) ヒープソート,ヒープソートのプログラミング実習
8クイーン
巡回騎士問題
魔方陣
まとめ
評価方法 出席,レポート,期末テストによる総合評価を行う.レポート課題を毎回確実にこなすことが重要である.
教科書
参考書
メッセージ プログラムを書くと一言で言っても,センスの良いプログラムも悪いプログラムもある.アルゴリズムをきちんと理解してそれを反映できるようにプログラムを書けるようになることは,センスの良いプログラムへの一つの段階である.この授業では,プログラムを書くことで授業の内容を確認,復習する手段であり,データ構造やアルゴリズムの内容をしっかり理解することが第一義である.うまく動くと楽しいプログラムも作れるようになる.