計算機ソフトウェア
計算機のプログラムを作成する場合に必要となる基本的なデータ構造とアルゴリズム、プログラム技法を説明する。アルゴリズムとは何か、各種の基本的なデータ構造、整列・探索・照合アルゴリズム、木やグラフに関する処理、計算の複雑度等について学ぶ。
講義詳細
- 開講部局名
- 工学部
- 教員/講師名
- 黒橋 禎夫(教授)
- 備考
- 当該年度の授業回数などに応じて一部省略、追加がありうる。
シラバス
開講年度・開講期 | 前期 | 配当学年 | 電気系3回生 前期 |
---|---|---|---|
教員 | 黒橋 禎夫(教授) |
||
授業の概要・目的 | 第1回 アルゴリズムと計算量 第2回 リスト構造 第3回 ヒープ 第4回 ハッシュとバケット 第5回 再帰呼出しと分割統治 第6回 縮小法 第7回 グラフ探索 第8回 最短経路問題, 最大流と割当て問題 第9回 動的計画法 第10回 ボロノイ図とドロネー図 第11回 テキスト処理の基本 第12回 問題の難しさの測り方 第13回 難問対策, 難問を利用した情報保護 |
||
授業計画と内容 | [内容] 計算機の各種プログラムの作成に不可欠な、 [授業計画] アルゴリズムと計算量 ( 1 回 ) 本講義の導入として、アルゴリズムとは何か、アルゴリズムの良さをどのように測るかについて説明する。 各種のデータ構造とアルゴリズム ( 4 回 ) 基本的なデータ構造として、リストとヒープを取り上げ、それらの構造に対する基本的なアルゴリズムを学ぶ。 再帰呼出と分割統治 ( 2 回 ) 複雑な問題をより単純な小問題に分割して解く方法について学ぶ。 グラフ探索 ( 3 回 ) グラフ構造とその探索アルゴリズムについて学ぶ。 動的計画法 ( 2 回 ) 最適性の原理と動的計画法について学ぶ。 問題の難しさの測り方 ( 1 回 ) 問題自身の難しさを測る方法について説明する。 |
||
履修要件 | 全学共通科目である基礎情報処理、基礎情報処理演習および専門科目である電気電子プログラミング及演習、計算機工学を修得しておくこと。 |
||
教科書・参考書等 | [教科書] 杉原厚吉:データ構造とアルゴリズム(共立出版) [参考書] D. E. Knuth: The Art of Computer Programming, Addison-Wesley |