シラバス参照

授業情報/Course information

科目一覧へ戻る 2020/10/22 現在

授業基本情報
科目名(和文)
/Course
データ構造とアルゴリズム
科目名(英文)
/Course
Data Structures and Algorithms
時間割コード
/Registration Code
21140601
学部(研究科)
/Faculty
情報工学部
学科(専攻)
/Department
情報通信工学科
担当教員(○:代表教員)
/Principle Instructor (○) and Instructors
滝本 裕則
オフィスアワー
/Office Hour
滝本 裕則(木曜5限, 2608室)
開講年度
/Year of the Course
2020年度
開講期間
/Term
前期
対象学生
/Eligible Students
2年
単位数
/Credits
2.0
授業概要情報
更新日
/Date of renewal
2020/05/02
使用言語
/Language of Instruction
日本語
オムニバス
/Omnibus
該当なし
授業概略と目的
/Cource Description and Objectives
プログラムを作成するにあたり,「処理の方法」である「アルゴリズム」と「データの保持方法」である「データ構造」は,密接な関係があるとともに非常に重要でもある.本講義では,それらの評価尺度の 1つである計算量を理解するとともに,基本的なアルゴリズム・データ構造の考え方と設計方針を理解することを目的とする.
履修に必要な知識・能力・キーワード
/Prerequisites and Keywords
C言語を用いて簡単なプログラムが組めることが望ましい.

キーワード: アルゴリズム,データ構造,再帰
履修上の注意
/Notes
教科書
/Textbook(s)
平田 富夫 「アルゴリズムとデータ構造(第3版) 」
参考文献等
/References
近藤嘉雪, 「定本 Cプログラマのためのアルゴリズムとデータ構造」

その他,書名に「アルゴリズム」や「データ構造」という単語が入っている書籍は多い.そのようなものを参照することにより多面的な理解ができると思う.
自主学習ガイド
/Expected Study Guide outside Coursework/Self-Directed Learning Other Than Coursework
具体的な問題に対して実際にプログラムを作成しその動作を確認することにより,実際の「動作」が理解できるだろう.
資格等に関する事項
/Attention Relating to Professional License
備考
/Notes
授業計画詳細情報
No. 単元(授業回数)
/Unit (Lesson Number)
単元タイトルと概要
/Unit Title and Unit Description
時間外学習
/Preparation and Review
配付資料
/Handouts
1 1 [アルゴリズムと計算量]
「アルゴリズム」の定義を知り,その評価指標としての「計算量」の概念を理解する.また,計算量を記述する方法を学び,実際のアルゴリズムに対して計算量を求める.
2 2 [再帰]
再帰の仕組みと様々な再帰プログラムの例について学ぶ.
3 3 [基本データ構造]
基本的なデータ構造であるリスト・スタック・キュー・ヒープについて学ぶ。
4 4 [C言語による実装と動作確認]
基本的なデータ構造について,C言語を用いて実装し,その動作を確かめる.
5 5~6 [ソートアルゴリズム]
データを一定の順序に入れ替えるソートアルゴリズムを分類し,比較に基づくソートアルゴリズムの理論的限界を学ぶ.
6 7 [C言語による実装と動作確認]
ソートアルゴリズムをC言語を用いて実装し,その動作を確かめる.
7 8 [二分探索木]
格納するデータが順序構造を持つことを前提に,単純なリストよりも効率よくデータを探索することのできる二分探索木について理解する.
8 9 [ハッシュ]
離散的なデータをより効率的に探索するデータ構造であるハッシュについて理解する.
9 10 [文字列の探索]
日常的に使われる「文字列探索」に対して基本的なアルゴリズムから工夫した手法までを紹介する.
10 11~12 [グラフの探索]
グラフの概念とデータとしての表現方法,さらに探索方法について学ぶ.
11 13~14 [経路探索]
グラフ上の 2点間の最短経路を見つけるアルゴリズムを紹介する.
12 15 [まとめ]
講義全体のまとめを行う.
授業評価詳細情報
到達目標及び観点/Learning Goal and Specific Behavioral Viewpoints
No. 到達目標
/Learning Goal
知識・理解
/Knowledge & Undestanding
技能・表現
/Skills & Expressions
思考・判断
/Thoughts & Decisions
伝達・コミュニケーション
/Communication
協働
/Cooperative Attitude
1 アルゴリズムの表現方法を学ぶ.
2 アルゴリズムの解析について理解する.
3 データ構造とそれを操作するアルゴリズムの構造を理解する.
成績評価方法と基準/Evaluation of Achievement
※出席は2/3以上で評価対象となります。
No. 到達目標
/Learning Goal
定期試験
/Exam.
演習課題およびレポート 学習態度
1 アルゴリズムの表現方法を学ぶ.
2 アルゴリズムの解析について理解する.
3 データ構造とそれを操作するアルゴリズムの構造を理解する.
評価割合(%)
/Allocation of Marks
90 10

科目一覧へ戻る