学部・大学院区分
Undergraduate / Graduate
工学部
時間割コード
Registration Code
0846280
科目区分【日本語】
Course Category
専門科目
科目区分【英語】
Course Category
Specialized Courses
科目名 【日本語】
Course Title
アルゴリズムとデータ構造
科目名 【英語】
Course Title
Algorithms and Data Structures
コースナンバリングコード
Course Numbering Code
担当教員 【日本語】
Instructor
佐藤 理史 ○
担当教員 【英語】
Instructor
SATO Satoshi ○
単位数
Credits
2
開講期・開講時間帯
Term / Day / Period
春 金曜日 2時限
Spring Fri 2
授業形態
Course style
講義
Lecture
学科・専攻【日本語】
Department / Program
電気電子情報工学科
学科・専攻【英語】
Department / Program
Department of Electrical Engineering, Electronics, and Information Engineering
必修・選択【日本語】
Required / Selected
選択
必修・選択【英語】
Required / Selected
Elective


授業の目的 【日本語】
Goals of the Course(JPN)
この講義では、情報処理の基本となるアルゴリズムとデータ構造について、その基本概念と基礎知識を学び、プログラミングでそれらの技法を使いこなせるようになることを目的とする。
この講義を習得することにより、以下のことができるようなることを目標とする。
1. オーダー評価などの計算量概念を理解し、説明できる。
2. 基本データ構造を用いたアルゴリズム設計ができる。
3. アルゴリズムの基本的な手法を理解し、説明できる。
4. 具体的な問題に対して、適切なアルゴリズムとデータ構造を選択し、プログラムを作成できる。
授業の目的 【英語】
Goals of the Course
This is an introductory course on algorithm and data structure, which is a foundation of programming.
The goals of this course are to
1. be able to understand and explain the concept of complexity
2. be able to design algorithms by using basic data structures
3. be able to understand and explain basic methods of algorithms
4. be able to implement programs by using appropriate data structures and methods
到達目標 【日本語】
Objectives of the Course(JPN))
この講義では、情報処理の基本となるアルゴリズムとデータ構造について、その基本概念と基礎知識を学び、プログラミングでそれらの技法を使いこなせるようになることを目的とする。
この講義を習得することにより、以下のことができるようなることを目標とする。
1. オーダー評価などの計算量概念を理解し、説明できる。
2. 基本データ構造を用いたアルゴリズム設計ができる。
3. アルゴリズムの基本的な手法を理解し、説明できる。
4. 具体的な問題に対して、適切なアルゴリズムとデータ構造を選択し、プログラムを作成できる。
到達目標 【英語】
Objectives of the Course
This is an introductory course on algorithm and data structure, which is a foundation of programming.
The goals of this course are to
1. be able to understand and explain the concept of complexity
2. be able to design algorithms by using basic data structures
3. be able to understand and explain basic methods of algorithms
4. be able to implement programs by using appropriate data structures and methods
バックグラウンドとなる科目【日本語】
Prerequisite Subjects
離散数学及び演習
計算機プログラミング基礎及び演習
プログラミング及び演習
オートマトンと形式言語
バックグラウンドとなる科目【英語】
Prerequisite Subjects
Discrete Mathematics with Exercise
Fundamental Computer Programming with Exercises
Computer Programming with Exercises
Automaton and Formal Language
授業の内容【日本語】
Course Content
1. アルゴリズムと計算量
2. リスト構造, ヒープ, ハッシュとバケット
3. 再帰呼出しと分割統治
4. グラフ探索
5. 動的計画法
6. 縮小法
7. 最大流と割当て問題
8. 文字列照合
9. 問題の難しさの測り方, 難問対策
授業の内容【英語】
Course Content
1. Algorithm and Complexity
2. List, Heap, Hash, and Bucket
3. Recursive Call and Divide-and-Conquer
4. Graph Search
5. Dynamic Programming
6. Reduction Algorithms
7. Maximum Flow
8. String Matching
9. NP-Completeness and Approximation Algorithms
成績評価の方法と基準【日本語】
Course Evaluation Method and Criteria
達成目標に対しての習得度をレポート課題および期末試験にて評価する。
アルゴリズムとデータ構造について、基本的な事項を理解し、それらを具体的な問題に適用することができれば合格とする。より難易度の高い問題を解くことができれば、それに応じて成績に反映させる。
成績評価の方法と基準【英語】
Course Evaluation Method and Criteria
The final grade will be calculated according to the submitted reports and the final examination.
You can pass this lecture if you understand the elemental knowledge about algorithms and data structures and can apply them to specific problems. You will get a higher grade if you can solve more difficult problems.
履修条件・注意事項【日本語】
Course Prerequisites / Notes
履修条件は要さない。
履修条件・注意事項【英語】
Course Prerequisites / Notes
No requirement for registration.
教科書【日本語】
Textbook
杉原厚吉. データ構造とアルゴリズム. 共立出版, 2001. ISBN-10: 4320120345
講義は、原則として、教科書に沿って進めるので、かならず準備すること。
教科書【英語】
Textbook
Koukichi Sugihara. Data Structure and Algorithms (in Japanese). Kyoritsu Syuppan, 2001.
参考書【日本語】
Reference Book
Thomas H. Cormen, Charles E. Leiserson, Ronald L Rivest, and Clifford Stein. Intruduction to Algorithms. Third Edition, MIT Press, 2009.
参考書【英語】
Reference Book
Thomas H. Cormen, Charles E. Leiserson, Ronald L Rivest, and SClifford Stein. Intruduction to Algorithms. Third Edition, MIT Press, 2009.
授業時間外学習の指示【日本語】
Self-directed Learning Outside Course Hours
毎回の授業前に教科書の指定個所を読んでおき、よくわからない部分を特定しておくこと。
講義終了時は、復習すること。数回のレポート課題を課すので、それを解いて提出すること。
授業時間外学習の指示【英語】
Self-directed Learning Outside Course Hours
Before each session, you should read the designated part of the textbook and identify what you do not understand. After each session, you should review what you studied. For assignments, you should submit reports.
使用言語【英語】
Language used
使用言語【日本語】
Language used
日本語
授業開講形態等【日本語】
Lecture format, etc.
教室で対面で実施する。
授業開講形態等【英語】
Lecture format, etc.
Sessions are conducted face-to-face in the classroom.
遠隔授業(オンデマンド型)で行う場合の追加措置【日本語】
Additional measures for remote class (on-demand class)
遠隔授業(オンデマンド型)で行う場合の追加措置【英語】
Additional measures for remote class (on-demand class)