学部・大学院区分情報学部
時間割コード1000195
科目区分
専門基礎科目(コンピュータ科学科 対象)
科目名 【日本語】アルゴリズム1
科目名 【英語】Algorithm 1
コースナンバリングコード
担当教員 【日本語】西田 直樹 ○
担当教員 【英語】NISHIDA Naoki ○
単位数1
開講期・開講時間帯秋1期 火曜日 3時限
Fall1 Tue 3
対象学年2年
2
授業形態講義
Lecture
開講系(学部)・開講専攻(大学院)
共通
必修・選択
CS必修


授業の目的 【日本語】
計算モデルと計算量,基本データ構造,整列,探索などの基本となるアルゴリズムについて講述する。
情報関連の技術者・研究者として知っておくべき基礎的なアルゴリズムとデータ構造,および実際のプログラムとしての実現方法を学ぶ。具体的には次の事項を達成することを目標とする。
1. 計算量の概念を理解する。
2. 基本データ構造を用いたアルゴリズムを設計できる。
3. 整列,探索の基本アルゴリズムを理解し,実現できる。
4. アルゴリズム設計の基本パラダイムを理解する。
授業の目的 【英語】
Throughout lectures on the fundamentals of algorithms such as computation models, complexity, basic data structures, sorting, and searching. we learn not only basic algorithms and data structures that technicians and researchers of informatics should be familiar with, but also how to implement algorithms as programs. We aim at acquiring the following topics:
1. notion of complexity
2. how to design algorithms using basic data structures
3. basic algorithms for sorting and searching
4. basic paradigms for algorithm design
到達目標 【日本語】
アルゴリズムを理解するために,計算量の概念,基本データ構造とその基本操作,整列,探索,グラフの基本アルゴリズムについて講義を実施する。この講義によりアルゴリズム設計の基本パラダイムを理解し,情報関連の技術者・研究者として知っておくべき基礎的なアルゴリズムとデータ構造,および実際のプログラムとしての実現方法を学ぶ。
到達目標 【英語】
授業の内容や構成
アルゴリズムの基本概念,計算量の概念,グラフ・木の定義と基本操作,リストやヒープの基本データ構造およびその基本操作,ハッシュ処理を紹介する。
さらに,木やグラフの探索,挿入ソートなどの古典的なソートアルゴリズムとその計算量について講じる。

1. アルゴリズムの基本概念
2. 計算量
3. グラフ・木
4. リスト・ヒープ・ハッシュ処理
5. 木の探索
6. グラフの探索
7. 整列
8. 総括
履修条件・関連する科目
成績評価の方法と基準
講義中に与える演習課題,期末試験の結果を総合的に判断して,合計100点満点で60点以上を合格とする。
教科書・参考書
(教科書)平田富夫,アルゴリズム設計とデータ構造,サイエンス社,2015
(参考文献)平田富夫,Cによるアルゴリズムとデータ構造,科学技術出版,2002。他,必要に応じて指定する。
(履修条件等)プログラミング1,2の単位を取得済みであることが望ましい。
課外学習等(授業時間外学習の指示)
講義において説明した理論を理解するために課題を与える。
授業開講形態等
遠隔授業(オンデマンド型)で行う場合の追加措置