21222213

コンピュータ工学COM401f  COM401g  COM401h  COM401i  COM401j 

2年後学期金5, 金6

アルゴリズムとデータ構造およびプログラミング演習(再履)

Algorithms and Data Structures and Programming Exercises

小川 朋宏

単位区分

単位数: 3単位
必修
課程・類・プログラム
種別
先端工学基礎課程

関連Webサイト

主題および達成目標

プログラミングにおいては, 与えられた問題を適切に定式化する能力が必要不可欠である. 特に, 効率の良い解法(アルゴリズム)と, そのための問題現(データ構造)を設計することが重要となる. この講義では, 計算量の概念を理解し, アルゴリズムの効率を意識しながら問題を適切に定式化する能力を習得することを目標として, 様々な情報処理の基本となるアルゴリズムとデータ構造について講義を行い, またプログラミング演習を通じて問題の定式化能力の定着を図る.

前もって履修しておくべき科目

基礎プログラミングおよび演習
数値解析および プログラミング演習

前もって履修しておくことが望ましい科目

基礎プログラミングおよび演習
数値解析および プログラミング演習

教科書等

必要に応じて資料を配付する
(参考書)柴田望洋, 辻亮介著, 「明解C言語によるアルゴリズムとデータ構造」ソフトバンククリエイティブ

授業内容とその進め方

授業内容
本講義は2時限連続で実施する. 1時限目では代表的なアルゴリズムおよびデータ構造について講義を行い, 2時限目にその理解を深めるために演習課題を提示する. 講義は, 指定した参考書を適宜参照して進める. なお, 本講義では, 講義・演習ともにC言語を用いて行う.

授業計画
第1回:プログラミングの復習: 関数, ポインタ
第2回:プログラミングの復習: ポインタ, 構造体
第3回:構造体, アルゴリズムと計算量, 計算時間の計測・制御
第4回:リスト構造の実現
第5回:スタックとキュー
第6回:探索
第7回:2分探索
第8回:ハッシュ法
第9回:木構造と2分探索木
第10回:再帰的アルゴリズム
第11回:ヒープ
第12回:基本ソート
第13回:クイックソート
第14回:文字列の基本処理と文字列探索
第15回:ハードウェアを意識したデータ構造, ソフトウェア作成
定期試験

授業時間外の学習

演習形式なので, 復習をしっかり行うようにして下さい.

成績評価方法および評価基準

(a) 授業中の課題(50%), 期末試験(50%)で評価する
(b) 評価基準
・アルゴリズムの計算量について理解する
基本的なデータ構造について理解する
基本的なアルゴリズムについて理解する
上記で理解した基本的なデータ構造とアルゴリズムについてC言語を用いて実装でき, それを用いた応用プログラムが書ける.
(c) 期末試験を受けるためには全回のレポートを提出していることが必要である.

オフィスアワー・授業相談

適宜相談可
・出張等で不在の場合がありますので事前連絡をして下さい.

学生へのメッセージ

演習形式なので, 復習をしっかり行うようにして下さい.

その

3クラスで開講しますが, 同じ内容を講義し, 演習を行う予定です.

キーワード

アルゴリズムと計算量
データ構造
プログラミング
最終変更日時: 2025/03/12 6:17:11