南山大学

 
指定
期間
秋学期
単位
年次
2
担当者
吉田 敦
他の科目との関連
他学科履修
副題
授業概要 コンピュータ上で問題を解くための基礎的な知識として、基本的なデータ構造とアルゴリズムについて、その概念や考え方について学ぶ。授業では、計算モデルやアルゴリズムの評価法などの基本事項を解説し、代表的なアルゴリズムやデータ構造を示しながらそれらの手法の評価を行う。また、分割統治法や動的計画法などのアルゴリズムの基本的な設計技法を学ぶことで、コンピュータ上で問題を効率よく解く素養を身につける。
学修目標 1. 計算量の議論において用いられる概念を説明できる。
2. 基本的なアルゴリズムやデータ構造の概要やその計算量について知っている。
3. 様々なソーティングアルゴリズムの原理を理解し、どのように動作するかを知っている。
4. 様々なソーティングアルゴリズムの違いを理解し、長所や短所を説明できる。
5. 様々なデータ構造の仕組みを理解し、どのように動作するかを説明できる。
6. 分割統治法や動的計画法などのアルゴリズムの設計技法について知っている。
授業計画 第1週   導入(アルゴリズムとは?)
第2週   アルゴリズムの計算量
第3〜4週 基本的なデータ構造:リスト,スタック,キュー,ヒープ
第5〜9週 ソーティングアルゴリズム
      挿入ソート,バブルソート,マージソート,クイックソート,ヒープソートなど
第10〜12週 探索のためのデータ構造
      2分探索木,平衡2分探索木,ハッシュ
第13〜14週 アルゴリズムの設計技法:貪欲法,分割統治法,動的計画法
第15週   定期試験
授業時間外の学習(準備学習など) 授業計画を参照して、テキストの該当部分を予習しておくこと。
毎回、授業の最後に小テストを行い、次の授業で解説をするので、復習をすること。
評価方法 授業ごとに小テストを行う。小テスト30%,定期試験70%で評価する。
テキスト 平田富夫,「アルゴリズムとデータ構造 改訂C言語版」,森北出版,
その他 この科目は、次のJABEE対応コース「情報技術専修コース(ソフトウェア工学科・システム創成工学科・情報システム数理学科)」の学習・教育目標に対応する(小項目:D-2)。