シラバス参照

講義概要/Course Information
2025/04/25 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
アルゴリズム・データ構造および演習
英文授業科目名
/Course title (English)
Algorithms and Data Structures with Programming Projects
科目番号
/Code
COM401t
開講年度
/Academic year
2025年度 開講年次
/Year offered
2/3/4
開講学期
/Semester(s) offered
後学期 開講コース・課程
/Faculty offering the course
情報理工学域
授業の方法
/Teaching method
講義/演習 単位数
/Credits
2
科目区分
/Category
専門科目
開講類・専攻
/Cluster/Department
先端工学基礎課程
担当教員名
/Lecturer(s)
兼岩 憲
居室
/Office
西9-407
公開E-mail
/e-mail
kaneiwa_at_uec.ac.jp ( _at_ => @ )
授業関連Webページ
/Course website
http://www.sw.cei.uec.ac.jp/lectures-j.html
更新日
/Last update
2025/03/06 16:47:12 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標(2,000文字以内)
/Themes and goals(up to 2,000 letters)
授業の概要
本講義では、コンピュータを使用して問題を解いたり計算したりするために、基本的なデータ構造と効率のよいアルゴリズムについて学ぶ。特に、効率のよいアルゴリズムとそうでないものを実際にプログラミングして、それらの実行時間を比較して計算量の違いを実感する。

主題および達成目標
・効率のよいアルゴリズムと、データ構造の果たす役割について講義する。
・効率のよいアルゴリズムの構成について理解することが本講義の目標である。


前もって履修
しておくべき科目(1,000文字以内)
/Prerequisites(up to 1,000 letters)
コンピュータの基礎知識を内容とする科目、およびプログラミング関係の科目。


前もって履修しておくこ
とが望ましい科目(1,000文字以内)
/Recommended prerequisites and preparation(up to 1,000 letters)
コンピュータやプログラムについての知識を前提とし、とくに C や Pascal
のプログラムを理解できることを前提とする。


教科書等(1,000文字以内)
/Course textbooks and materials(up to 1,000 letters)
講義資料を配布する予定である。以下の参考書に授業中に述べるアルゴリズムの
多くが説明されている。
Sara Baase: Computer Algorithms, Introduction to Design and Analysis,
3rd Ed., Addison-Wesley 2000
(サラバース著、岩野他訳:アルゴリズム入門 設計と解析、ピアソンエデュケーション
(第2版の訳本))
A.V.Aho, J.E.Hopcroft, J.D.Ullman: The Design and Analysis of Computer
Algorithms, Addison-Wesley, 1974
(エイホ他著、野崎他訳:アルゴリズムの設計と解析 I,II、サイエンス社)

授業内容と
その進め方(2,000文字以内)
/Course outline and weekly schedule(up to 2,000 letters)
授業内容:
第1回:スタックとその応用(1)
第2回:スタックとその応用(2)
第3回:リスト構造と木
第4回:関数の大きさと計算量,漸化式
第5回:分割統治法
第6回:挿入ソート,バブルソート
第7回:クイックソート
第8回:マージソート
第9回:ヒープソート(1)
第10回:ヒープソート(2)
第11回:基数ソート,最小比較回数のソートアルゴリズム
第12回:最大最小を求めるアルゴリズム
第13回:選択アルゴリズム(1)
第14回:選択アルゴリズム(2)
第15回:文字列マッチングアルゴリズム
定期試験

(b) 授業の進め方:
データ構造の応用と、効率よいアルゴリズムについて講義する。
プロジェクタやパソコンを使用して解説するので、授業に欠席しないように
すること。ときどき演習を実施する。

実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
授業時間外の学習
(予習・復習等)(1,000文字以内)
/Preparation and review outside class(up to 1,000 letters)
「アルゴリズム」や「データ構造」という名の書籍は多い。授業内容について
参考書で調べたり、アルゴリズムの内容をプログラム化するのもよいと思う。
成績評価方法
および評価基準
(最低達成基準を含む)
(1,000文字以内)
/Evaluation and grading
(up to 1,000 letters)
(a) 評価方法:
原則として、演習レポート内容と期末試験の成績に基づいて総合評価を行う。
(b) 評価基準:
アルゴリズムに関する基本的な事項について正しく理解していることを
もって合格の最低基準とする。

オフィスアワー:
授業相談(1,000文字以内)
/Office hours(up to 1,000 letters)
空いている時間ならいつでも可能ですが、
メールでアポイントメントを取ってください。
学生へのメッセージ(1,000文字以内)
/Message for students(up to 1,000 letters)
効率よいアルゴリズムはコンピュータを使用する上で重要である。効率の
よいアルゴリズムとそうでないものとの比較をして、効率のよさを肌で感じて
ほしい。
その他
/Others
特になし
キーワード
/Keywords
効率のよいアルゴリズム、データ構造、計算量