シラバス情報

科目授業名称(和文) Name of the subject/class (in Japanese)
アルゴリズムとデータ構造
科目授業名称(英文) Name of the subject/class (in English)
Algorithms and Data Structures
授業コード Class code
9963120
科目番号 Course number
63CSALC305

教員名
桂田 浩一、大村 英史
Instructor
Hidefumi Ohmura

開講年度学期
2024年度後期
Year/Semester
2024 2nd period
曜日時限
月曜1限
Class hours
Monday 1st period

開講学科・専攻 Department
創域理工学部 情報計算科学科、数理科学科

Department of Information Sciences, Faculty of Science and Technology
Department of Mathematics Faculty of Science and Technology
単位数 Course credit
2.0単位
授業の方法 Teaching method
講義

Lecture
外国語のみの科目(使用言語) Course in only foreign languages (languages)
-
授業の主な実施形態 Main class format
① [対面]対面授業/ [On-site] On-site class

概要 Description
プログラムにおけるデータ構造の概念とそのアルゴリズム及びその実現法を理解する.
目的 Objectives
データ構造の概念とアルゴリズムを学ぶことにより,洗練された効率のよいプログラム記述能力を学習する.
数学科ディプロマポリシーにある「習得した専門知識や教養をもとに、自ら課題を発見し、解決する能力」を身に付けるための科目である.
到達目標 Outcomes
1.データ型および抽象データ型の概念を習得する.
2.アルゴリズムの概念を学び,ソーティング法等の効率の良いプログラミングを習得する.
3.基本データ構造のリスト,スタック,キュー,木を習得する.
4.高度なデータ構造の2分探索木,AVL木,B-木を習得する.
5.抽象データ型の辞書を学び,辞書の木を用いた実現を習得する.
6.辞書のハッシュ法を用いた実現を学び,ハッシュ法を習得する.
卒業認定・学位授与の方針との関係(学部科目のみ)
リンク先の [評価項目と科目の対応一覧]から確認できます(学部対象)。
履修登録の際に参照ください。
​You can check this from “Correspondence table between grading items and subjects” by following the link(for departments).
https://www.tus.ac.jp/fd/ict_tusrubric/​​​
履修上の注意 Course notes prerequisites
プログラム言語1およびプログラム言語2を既修しておくことが好ましい.
アクティブ・ラーニング科目 Teaching type(Active Learning)
実習 Practical learning
-

準備学習・復習 Preparation and review
配布資料を利用して,準備学習および復習をすること.
成績評価方法 Performance grading policy
到達度評価,授業内に出題する課題に基づき総合的に成績評価を行う.
学修成果の評価 Evaluation of academic achievement
・S:到達目標を十分に達成し、極めて優秀な成果を収めている
・A:到達目標を十分に達成している
・B:到達目標を達成している
・C:到達目標を最低限達成している
・D:到達目標を達成していない
・-:学修成果の評価を判断する要件を欠格している

・S:Achieved outcomes, excellent result
・A:Achieved outcomes, good result
・B:Achieved outcomes
・C:Minimally achieved outcomes
・D:Did not achieve outcomes
・-:Failed to meet even the minimal requirements for evaluation

教科書 Textbooks/Readings
教科書の使用有無(有=Y , 無=N) Textbook used(Y for yes, N for no)
N
書誌情報 Bibliographic information
-
MyKiTSのURL(教科書販売サイト) URL for MyKiTS(textbook sales site)
教科書および一部の参考書は、MyKiTS (教科書販売サイト) から検索・購入可能です。
https://mirai.kinokuniya.co.jp/tokyorika/​​​

It is possible to search for and purchase textbooks and certain reference materials at MyKiTS (online textbook store).
​​https://mirai.kinokuniya.co.jp/tokyorika/

参考書・その他資料 Reference and other materials

授業計画 Class plan
1.データ型:原子データ型,構造データ型,およびデータ構造の概念並びにそれらに伴うポインタ,左辺値と右辺値およびグラフ表現とデータ構造を理解する.

2.抽象データ型:データ型の階層,仕様と実現の独立性,仕様(構文と意味),実現(表現とアルゴリズム),記述例,情報隠蔽等を理解する.

3.アルゴリズムの概念:複雑さ,コスト,機械モデル(チューリングマシン,RAMマシン)を理解する.

4.ソーティング法:典型的アルゴリズムである各種ソーティング法の効率を理解する.

5.基本データ構造リスト:線形データ構造として、リストの概念,それらの仕様および記述例,表現及び実現(配列及びポインタ),各実現の効率の評価を理解する.

6.基本データ構造スタックおよび待ち行列:リストを特化した構造のスタックおよび待ち行列の概念,それらの仕様および記述例,表現及び実現,各実現の効率の評価を理解する.

7.木:木の概念,順序木および2分木並びにそれぞれの概念を理解する.

8.抽象データ型木の仕様:順序木および2分木の仕様および記述例を理解する.

9.抽象データ型木の実現:順序木および2分木の表現及び実現(配列及びポインタ),各実現の効率の評価を理解する.

10.木のポインタ表現:2分木の直接表現と子の連結リスト表現,それらの関係,並びにひもつき表現を理解する.

11.集合:集合の概念,仕様,表現(ビットベクトル,連結リスト),記述例,表現及び実現(配列及びポインタ),各実現の効率の評価を理解する.

12.辞書:辞書の概念,仕様,表現。特に,ハッシュ法による辞書の実現(オープン・クローズハッシュ法)を理解する.

13.2分探索木:2分木を改良した2分探索木のアルゴリズムと効率の評価を理解する.

14.AVL木:2分探索木をバランスさせたAVL木のアルゴリズムを理解する.

15.B-木:バランスさせた多分木のB-木の表現,アルゴリズム,効率の評価を理解する.

授業担当者の実務経験 Work experience of the instructor of the class
-
教育用ソフトウェア Educational software
-
-

備考 Remarks
なし

授業でのBYOD PCの利用有無 Whether or not students may use BYOD PCs in class
-
授業での仮想PCの利用有無 Whether or not students may use a virtual PC in class
-