![]() ![]() |
講義概要/Course Information |
科目基礎情報/General Information |
授業科目名 /Course title (Japanese) |
アルゴリズム・データ構造および演習 | ||
---|---|---|---|
英文授業科目名 /Course title (English) |
Algorithms and Data Structures with Programming Projects | ||
科目番号 /Code |
COM401s | ||
開講年度 /Academic year |
2023年度 | 開講年次 /Year offered |
2/3/4 |
開講学期 /Semester(s) offered |
後学期 | 開講コース・課程 /Faculty offering the course |
情報理工学域 |
授業の方法 /Teaching method |
講義/演習 | 単位数 /Credits |
2 |
科目区分 /Category |
専門科目 | ||
開講類・専攻 /Cluster/Department |
先端工学基礎課程 | ||
担当教員名 /Lecturer(s) |
新谷 隆彦 | ||
居室 /Office |
西10-531 | ||
公開E-mail |
shintani@is.uec.ac.jp | ||
授業関連Webページ /Course website |
Google Classroom (クラスコード zsxjoei )UECクラウドアカウント限定 | ||
更新日 /Last update |
2023/07/24 13:14:04 | 更新状況 /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) |
コンピュータの基礎知識を内容とする科目、プログラミング(特にC言語)に関する科目の履修が望ましい。 |
前もって履修しておくこ とが望ましい科目(1,000文字以内) /Recommended prerequisites and preparation(up to 1,000 letters) |
同上。 |
教科書等(1,000文字以内) /Course textbooks and materials(up to 1,000 letters) |
資料は毎回独自のものを作成し、google classroomにて公開する。 参考書として、以下の本をあげておく: 西尾章治郎 監修,原,水田,大川 著 「アルゴリズムとデータ構造」(未来へつなぐデジタルシリーズ10)共立出版 R.セジウィック 著 「アルゴリズムC」第1巻~第3巻 近代科学社 R.セジウィック 著/野下浩平・星守・佐藤創・田口東 共訳 「アルゴリズムC・新版─基礎・データ構造・整列・探索」近代科学社 T.コルメン他 著 「アルゴリズムイントロダクション第3版」全3巻 近代科学社 五十嵐健夫 著 「データ構造とアルゴリズム」サイエンス社 |
授業内容と その進め方(2,000文字以内) /Course outline and weekly schedule(up to 2,000 letters) |
授業内容: 第1回 アルゴリズムの基本概念 第2回 アルゴリズムと計算量 第3回 リストと様々な操作 第4回 スタックとキュー 第5回 木 第6回 ハッシュ法、トライ 第7回 ソート(1) 第8回 ソート(2) 第9回 ヒープと優先度付き待ち行列 第10回 2分探索木 第11回 平衡探索木(1) 第12回 平衡探索木(2) 第13回 グラフ(1) 第14回 グラフ(2) 第15回 文字列マッチング 授業の進め方: 講義形式で進める。適宜、演習の実施、レポートの提出を行う。 |
実務経験を活かした 授業内容 (実務経験内容も含む) /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) |
成績評価方法: 原則として、演習レポート内容と期末試験の成績に基づいて総合評価する。 期末試験は対面実施を予定している。 評価基準: 以下の到達レベルをもって合格の最低基準とする。 (1) 各種線形構造の操作を理解しており、具体的な実現法を説明できること (2) 木構造の基本的な概念と操作を理解しており、実現法を説明できること (3) ハッシングの原理と実現法を理解していること (4) 探索木の原理を説明でき、操作法を理解していること (5) グラフを用いた初等的な問題と解法アルゴリズムを理解していること |
オフィスアワー: 授業相談(1,000文字以内) /Office hours(up to 1,000 letters) |
質問などある場合には、各回の講義の終わりにオンラインで質問してください。メール、google classroomでの質問も受け付けます。 対面での質問を希望する場合には、事前に連絡を取った上で西10号館5階531号室にお越し下さい。 |
学生へのメッセージ(1,000文字以内) /Message for students(up to 1,000 letters) |
最初に全くわからないときは、自分で読んでわかる日本語のアルゴリズムの薄い教科書を探し、それを最初に通して読むことを勧めます。Cプログラムだけの世界とは異なるので、プログラムの得意な学生も同様です。 |
その他 /Others |
なし。 |
キーワード /Keywords |
アルゴリズム、正当性、停止性、計算量、データ構造、線形構造、木構造、ハッシュ法、ヒープ、探索木、平衡探索木、グラフ |