1. ポインタを利用したリストについて、その概念や実現方法が理解できること。
2. スタックとキューについて、その概念や違いを理解できること。
3. 木の構造や走査について、その概念や各種手法を理解できること。
4. いろいろな探索手法について、その概念や実現方法が理解できること。
5. いろいろなソート手法について、その概念や実現方法が理解できること。
概要:
基本的なデータ構造であるリスト、キュー、木について修得し、さらにこれらのデータ構造を利用して実現できる探索や整列のアルゴリズムについて学ぶ。
授業の進め方・方法:
プログラミング1・プログラミング2で学んできたC言語の文法的知識をもとに、より高度なデータ構造やアルゴリズムの実現方法について勉強することになります。
授業を一方的に聞くだけでなく、その概念や動作を自分で理解できるよう頑張ってください。特に、教科書で省略されているCプログラムを自分で考えることは非常に重要です。
注意点:
事前学習:プログラミング1・プログラミング2の知識が必要となるので、よく復習しておいてください。
自己学習:授業でいろいろなプログラムの学習をしますが、実際にパソコンで動かすことはしないので、各自実施してみてください。
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | ソフトウェア | 時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。 | 4 | |
アルゴリズムの概念を説明できる。 | 4 | 前1 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 前1 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 前1,後1,後9 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前1 |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前1 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | 後1,後2,後3,後4,後5,後6,後7,後9,後10,後11,後12,後13,後14,後15 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 前2 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | 前1 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | 前2,前5,前6,前7,前9,前10,前11,前12 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | 前5,前6,前7,前10,前11,前13 |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | 前1 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | 前1,後1,後9,後15 |