慶應義塾大学 シラバス・時間割

アルゴリズム第1

サブタイトル基本データ構造と代表的アルゴリズムの設計・解析
担当者名佐藤 貴彦
単位2
年度・学期2026 秋
曜日時限火1
キャンパス日吉
授業実施形態対面授業(主として対面授業)
登録番号36263
設置学部・研究科理工学部
設置学科・専攻情報工学科
学年2
分野専門教育科目専門基礎科目必修
評語タイプログインすると表示されます(要慶應ID)。
科目概要コンピュータを用いて解きたい問題にはいくつかの典型的なパターンがあり、それぞれ解法の定跡が確立しています。この科目では、基本となるデータ構造とともに、探索や整列等の問題を解決する代表的なアルゴリズムについて学びます。また、データ構造やアルゴリズムの時空間性能を定量的に比較する方法を導入します。
K-Number FST-IC-24121-211-60
科目設置学部・研究科FST理工学部
学科・専攻IC情報工学科
科目主番号レベル22年次配当レベル
大分類4専門基礎科目
小分類12プログラミング・アルゴリズム - 学修レベル2
科目種別1必修科目
科目補足授業区分2講義
授業実施形態1対面授業(主として対面授業)
授業言語1日本語
学問分野60情報科学、情報工学およびその関連分野

授業科目の内容・目的・方法・到達目標

コンピュータを用いて解きたい問題にはいくつかの典型的なパターンがあり,それぞれ解法の定跡が確立しています.この科目では,基本となるデータ構造とともに,探索や整列等の問題を解決する代表的なアルゴリズムを学びます.また,データ構造やアルゴリズムの性能を定量的に比較する方法を導入します.アルゴリズムの記述には原則としてPascal準拠の疑似コードを用いますが,C言語によるサンプルコードも提供します.

実務経験のある教員による授業科目

該当しない

能動的学修形式説明

実験、実技、実習

準備学修(予習・復習等)

毎回,指定された教科書もしくは同等の書籍・資料等に予め目を通しておくことをすすめます(目安として1~2時間程度).Pascal言語やC言語の文法を自習しておくことも講義の理解促進につながります.C言語を効率良くマスターするには,並行履修する「プログラミング第1同演習」への積極的な取組みが鍵となります.

授業の計画

第1回
オリエンテーション:アルゴリズムとは何か?
第2回
アルゴリズムの計算量とO記法
第3回
基本データ構造1:列,配列,リスト
第4回
基本データ構造2:スタック,待ち行列,木
第5回
探索1:線形探索
第6回
探索2:二分探索と二分探索木
第7回
探索3:平衡木と多分木
第8回
探索4:ハッシュ法
第9回
整列1:選択法,挿入法
第10回
整列2:シェルソート,クイックソート
第11回
整列3:ヒープソート,マージソート
第12回
整列4:ビンソート,基底法
第13回
グラフとその探索
第14回
グラフの最小木と最短路
その他
総括・試験

成績評価方法

毎回のショートクイズ,プログラミング課題,定期試験

授業における生成AIの利用可否・利用方針

・AIが生成した箇所は課題内で明示し,また、内容は必ず自分で検証した上で必要に応じて修正すること.

テキスト(教科書)

石畑 清 著,「アルゴリズムとデータ構造」,岩波講座 ソフトウェア科学3,岩波書店(1989年)

参考書

ハンドアウトを毎回の講義前に配布

担当教員から履修者へのコメント

ログインすると表示されます(要慶應ID)。

質問・相談

ログインすると表示されます(要慶應ID)。