南山大学

 
指定
期間
秋学期
単位
年次
3
担当者
横森 励士
他の科目との関連
他学科履修
副題
授業概要 コンピュータ上で問題を解くための基礎的な知識として、基本的なデータ構造とアルゴリズムについて、その概念や考え方について学ぶ。授業では、計算モデルやアルゴリズムの評価法などの基本事項を解説した後に、代表的なアルゴリズムやデータ構造を示しながらそれらの手法の評価を行う。また、分割統治法や動的計画法などのアルゴリズムの基本的な設計技法を学ぶことで、コンピュータ上で問題を効率よく解くために必要な素養を身につける。
学修目標 1.計算量の議論において用いられる概念を説明できる。
2.基本的なアルゴリズムやデータ構造の概要やその計算量について知っている。
3.様々なソーティングアルゴリズムの原理を理解し、どのように動作するかを知っている。
4.様々なソーティングアルゴリズムの違いを理解し、長所や短所を説明できる。
5.様々なデータ構造の仕組みを理解し、どのように動作するかを説明できる。
6.分割統治法や動的計画法などのアルゴリズムの設計方法について知っている。
授業計画 第1週   導入(アルゴリズムの基礎)
第2週   アルゴリズムと計算量
第3週   ソーティングアルゴリズム1(バブルソート、挿入法)
第4週   ソーティングアルゴリズム2(バケットソート、基数ソート)
第5週   ソーティングアルゴリズム3(クイックソート)
第6週   ソーティングアルゴリズム4(マージソート、一般的な性質)
第7週   ソーティングアルゴリズム5(実習形式)
第8週   基本的なデータ構造1(リスト、スタック、キュー)
第9週   基本的なデータ構造2(グラフ、木、二分木)
第10週   データの探索1(二分探索木、平衡二分探索木)
第11週   データの探索2(ハッシュ)
第12週   データの探索3(ヒープとヒープソート)
第13週   アルゴリズムの設計技法1:分割統治法、動的計画法
第14週   アルゴリズムの設計技法2:難しい問題と近似アルゴリズム
第15週   定期試験
授業時間外の学習(準備学習など) 1. アルゴリズム例としてCプログラムを紹介するので、C言語を復習しておくこと。
2. 各回の講義資料をサーバに事前にアップロードするので、各自取得し予習を行うこと。
3. 第7週においてレポート課題を一回課す予定なので、講義において詳細を確認すること。
評価方法 授業毎に小テストを行う。小テスト35%、定期試験65%で評価する。
テキスト 茨木 俊秀:Cによるアルゴリズムとデータ構造(出版社: 昭晃堂)
その他 この科目は、次のJABEE対応コース「情報技術専修コース(情報通信学科・情報システム数理学科)」の学習・教育目標に対応する(小項目:D-2)。