授業の目標と概要 |
基礎事項として,ポインタおよび再帰について学習する。次にデータの表現方法や効率の良いアルゴリズムの実装能 |
力を身につけるため,基本的かつ代表的なアルゴリズムとデータ構造について学習する. |
|
|
カリキュラムにおける位置づけ |
本科目はプログラミング言語の上位科目,実践プログラミングⅡ・実践プログラミングⅢの下位科目として位置づけ |
られている. |
|
|
G1.ポインタ |
4 |
G2.再帰 |
|
1.アルゴリズム概要 |
2 |
・アルゴリズムとは |
|
・データ構造(配列・キュー・スタック・リスト・グラフ・ツリー) |
|
2.ソート |
6 |
・単純ソート(バブル・選択・挿入・シェーカー) シェルソート |
|
|
|
3.ソートと探索 |
18 |
・クイックソート ・マージソート ・ヒープソート |
|
・線形探索/二分探索 |
|
|
|
4. 文字列検索 |
4 |
・直感的な文字列検索 |
|
・KMP法 ・BM法 |
|
5. 配列とポインタ |
|
・構造体とポインタ リスト構造 ・ツリー構造 |
|
・ハッシュ |
12 |
|
|
6. グラフ構造を用いた経路探索 |
8 |
・深さ優先探索 ・幅優先探索 |
|
・ダイクストラ法 ・フロイド法 |
|
7. 基本情報・ソフト開発における「アルゴリズムとデータ構造」 |
4 |
|
|
|
教科書 |
|
補助教科書 |
|
履修上の注意 |
原則として授業の後半でC言語によるプログラミング演習を行なう.課題が授業時間内に終わらないことも予想されるので,自宅にプログラム開発環境を構築することが望ましい.
|
|
評価基準 |
C言語の文法および基本的なアルゴリズムとデータ構造が理解できており,プログラムを自作できること.
|
|
評価法 |
|
学習・教育目標 |
東京高専 |
|
JABEE |
|