To ensure the stable operation of the system, users are requested not to use automated programs, browser extensions, or similar tools that generate excessive access requests or automatically retrieve data.
During course registration periods in particular, excessive requests within a short period of time may place a significant load on the system and affect the availability of services for other users.
We appreciate your cooperation in maintaining a secure and stable computing environment.
If such activity is identified, the University may take appropriate measures, including access restrictions or the disabling of the relevant functionality.
Once you log in, you can use the following functions (Keio ID required).
Affiliation information (faculty, department/major, year level, etc.) is set in the search criteria (available to new students after enrollment).
Favorite (Bookmark)
View syllabus details
During course registration periods in particular, excessive requests within a short period of time may place a significant load on the system and affect the availability of services for other users.
We appreciate your cooperation in maintaining a secure and stable computing environment.
If such activity is identified, the University may take appropriate measures, including access restrictions or the disabling of the relevant functionality.
Once you log in, you can use the following functions (Keio ID required).
Affiliation information (faculty, department/major, year level, etc.) is set in the search criteria (available to new students after enrollment).
Favorite (Bookmark)
View syllabus details
COMPUTER ALGORITHMS 1
| Subtitle | 基本データ構造と代表的アルゴリズムの設計・解析 |
|---|---|
| Lecturer(s) | SATOH, TAKAHIKO |
| Credit(s) | 2 |
| Academic Year/Semester | 2026 Fall |
| Day/Period | Tue.1 |
| Campus | Hiyoshi |
| Class Format | Face-to-face classes (conducted mainly in-person) |
| Registration Number | 36263 |
| Faculty/Graduate School | SCIENCE AND TECHNOLOGY |
| Department/Major | INFORMATION AND COMPUTER SCIENCE |
| Year Level | 2 |
| Field | SPECIALIZED SUBJECTS |
| Grade Type | This item will appear when you log in (Keio ID required). |
| Course Description | There are several known patterns of problems to be solved using computers, and each of them has a well-defined solution. In this course, students learn fundamental data structures and representative algorithms for solving such problems as search and sorting. A quantitative comparison methodology for data structures and algorithm performance in terms of space and time will also be introduced. |
| K-Number | FST-IC-24121-211-60 |
| Course Administrator | Faculty/Graduate School | FST | SCIENCE AND TECHNOLOGY |
|---|---|---|---|
| Department/Major | IC | INFORMATION AND COMPUTER SCIENCE | |
| Main Course Number | Level | 2 | Second-year level coursework |
| Major Classification | 4 | Basic Major Courses | |
| Minor Classification | 12 | Programming and Algorithms - Learning Level 2 | |
| Subject Type | 1 | Required subject | |
| Supplemental Course Information | Class Classification | 2 | Lecture |
| Class Format | 1 | Face-to-face classes (conducted mainly in-person) | |
| Language of Instruction | 1 | Japanese | |
| Academic Discipline | 60 | Information science, computer engineering, and related fields | |
Course Contents/Objectives/Teaching Method/Intended Learning Outcome
コンピュータを用いて解きたい問題にはいくつかの典型的なパターンがあり,それぞれ解法の定跡が確立しています.この科目では,基本となるデータ構造とともに,探索や整列等の問題を解決する代表的なアルゴリズムを学びます.また,データ構造やアルゴリズムの性能を定量的に比較する方法を導入します.アルゴリズムの記述には原則としてPascal準拠の疑似コードを用いますが,C言語によるサンプルコードも提供します.
Course Taught by Faculty Member with Professional Experience
Not applicable
Active Learning MethodsDescription
Lab / Skill-development / On-site training
Preparatory Study
毎回,指定された教科書もしくは同等の書籍・資料等に予め目を通しておくことをすすめます(目安として1~2時間程度).Pascal言語やC言語の文法を自習しておくことも講義の理解促進につながります.C言語を効率良くマスターするには,並行履修する「プログラミング第1同演習」への積極的な取組みが鍵となります.
Course Plan
Lesson 1
オリエンテーション:アルゴリズムとは何か?
Lesson 2
アルゴリズムの計算量とO記法
Lesson 3
基本データ構造1:列,配列,リスト
Lesson 4
基本データ構造2:スタック,待ち行列,木
Lesson 5
探索1:線形探索
Lesson 6
探索2:二分探索と二分探索木
Lesson 7
探索3:平衡木と多分木
Lesson 8
探索4:ハッシュ法
Lesson 9
整列1:選択法,挿入法
Lesson 10
整列2:シェルソート,クイックソート
Lesson 11
整列3:ヒープソート,マージソート
Lesson 12
整列4:ビンソート,基底法
Lesson 13
グラフとその探索
Lesson 14
グラフの最小木と最短路
Other
総括・試験
Method of Evaluation
毎回のショートクイズ,プログラミング課題,定期試験
Generative AI Policy for Classes
・AIが生成した箇所は課題内で明示し,また、内容は必ず自分で検証した上で必要に応じて修正すること.
Textbooks
石畑 清 著,「アルゴリズムとデータ構造」,岩波講座 ソフトウェア科学3,岩波書店(1989年)
Reference Books
ハンドアウトを毎回の講義前に配布
Lecturer's Comments to Students
This item will appear when you log in (Keio ID required).
Question/Comments
This item will appear when you log in (Keio ID required).