Keio University Syllabus and Timetable

COMPUTER ALGORITHMS 1

Subtitle基本データ構造と代表的アルゴリズムの設計・解析
Lecturer(s)SATOH, TAKAHIKO
Credit(s)2
Academic Year/Semester2026 Fall
Day/PeriodTue.1
CampusHiyoshi
Class FormatFace-to-face classes (conducted mainly in-person)
Registration Number36263
Faculty/Graduate SchoolSCIENCE AND TECHNOLOGY
Department/MajorINFORMATION AND COMPUTER SCIENCE
Year Level2
FieldSPECIALIZED SUBJECTS
Grade TypeThis item will appear when you log in (Keio ID required).
Course DescriptionThere 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 AdministratorFaculty/Graduate SchoolFSTSCIENCE AND TECHNOLOGY
Department/MajorICINFORMATION AND COMPUTER SCIENCE
Main Course NumberLevel2Second-year level coursework
Major Classification4Basic Major Courses
Minor Classification12Programming and Algorithms - Learning Level 2
Subject Type1Required subject
Supplemental Course InformationClass Classification2Lecture
Class Format1Face-to-face classes (conducted mainly in-person)
Language of Instruction1Japanese
Academic Discipline60Information 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).