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

科目基礎情報

学校 岐阜工業高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 データ構造とアルゴリズム
科目番号 0127 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 1
開設学科 電気情報工学科 対象学年 4
開設期 前期 週時間数 前期:2
教科書/教材 C によるアルゴリズムとデータ構造(茨木俊秀・オーム社)
担当教員 出口 利憲

到達目標

以下の各項目を到達目標とする
(1) 基本的なデータ構造について理解する
(2) 基本的なデータ構造の実現方法について理解する
(3) 基本的なアルゴリズムを理解する
(4) 基本的なアルゴリズム設計技法を理解する
(5) 効率の評価法を理解し,データ構造・アルゴリズムの違いにより効率が異なる ことを理解する

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1基本的なデータ構造を理解し,利用できる基本的なデータ構造を理解している基本的なデータ構造を理解していない
評価項目2基本的なデータ構造の実現を理解し,利用できる基本的なデータ構造の実現を理解している基本的なデータ構造の実現を理解していない る問題を解くことができない
評価項目3種々の整列・探索を理解し,状況により選択できる種々の整列・探索方法を理解している種々の整列・探索方法を理解していない
評価項目4分割統治法,動的計画法を理解し,問題解決に用いることができる分割統治法,動的計画法を理解している分割統治法,動的計画法を理解していない
評価項目5オーダー表記を理解し,時間計算量・領域計算量を求めることができるオーダー表記を理解しているオーダー表記を理解していない

学科の到達目標項目との関係

教育方法等

概要:
様々なデータ構造とそれを取り扱うアルゴリズムを理解する
授業の進め方・方法:
教科書に沿って授業をすすめるが,教科書の内容から離れることもあるので講義に集中すること。
英語導入計画:Technical terms
注意点:
第2学年・第3学年のプログラミングの知識が必要なので,十分復習しておくこと。
演習には積極的に取り組み,指定された課題を提出すること。
なお,教室外学修の内容は演習課題および試験問題を通じて成績評価に含まれる。
学習教育・目標:(D-2 設計・システム系)100%

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 計算量(オーダー記法)(AL のレベル C) オーダー記法を理解する
(教室外学修)計算量に関する演習
2週 基本的なデータ構造(リスト,スタック,待ち行列)(AL のレベル C) スタック・待ち行列を理解する
(教室外学修)基本的なデータ構造に関する演習
3週 基本的なデータ構造(グラフ,木のデータ構造,木のなぞり,2分木,集合)(AL のレベル C) 木を理解する
(教室外学修)基本的なデータ構造に関する演習
4週 基本的なデータ構造(辞書,ハッシュ,互いに素な集合族)(AL のレベル C) ハッシュを理解する
互いに素な集合族の実現法を理解する
(教室外学修)基本的なデータ構造に関する演習
5週 基本的なデータ構造(順序付集合,優先度付き待ち行列,ヒープ)(AL のレベル C) ヒープを理解する
(教室外学修)基本的なデータ構造に関する演習
6週 2分探索木(AL のレベル C) 2分探索木を理解する
(教室外学修)探索木に関する演習
7週 並行探索木(AVL 木)(AL のレベル C) AVL木を理解する
(教室外学修)探索木に関する演習
8週 中間のまとめ(演習) (教室外学修)探索木に関する演習
2ndQ
9週 整列アルゴリズム(バブルソート,バケットソート)(AL のレベル C) バブルソート等およびバケットソート等を理解する
(教室外学修)整列アルゴリズムに関する演習
10週 整列アルゴリズム(ヒープソート,クイックソート)(AL のレベル B) ヒープソート・クイックソートを理解する
決定木を理解する
(教室外学修)整列アルゴリズムに関する演習
11週 整列データの処理,分割統治法(マージソート)(AL のレベル C) 分割統治法を理解する
(教室外学修)ソフトウェア設計技法に関する演習
12週 動的計画法(SUBSET-SUM)(AL のレベル C) 動的計画法を理解する
(教室外学修)ソフトウェア設計技法に関する演習
13週 資源配分問題,欲張り法(Greedy Method)(AL のレベル C) 資源配分問題を理解する
欲張り法を理解する
(教室外学修)ソフトウェア設計技法に関する演習
14週 グラフ(プリム,クラスカル,ダイクストラ)(AL のレベル C) グラフの実現を理解する
最小木を求める手法を理解する
(教室外学修)グラフアルゴリズムに関する演習
15週 文字列照合(BM 法) BM法を理解する
16週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野ソフトウェア同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4

評価割合

試験演習レポート課題合計
総合評価割合1005050200
得点1005050200