シラバス情報

授業科目名
データ構造とアルゴリズム
(英語名)
Data Structure and Algorithm
科目区分
専門教育科目
[−]
対象学生
工学部
学年
2年
ナンバリングコード
HETBK2MCA1
単位数
2.00単位
ナンバリングコードは授業科目を管理する部局、学科、教養専門の別を表します。詳細は右上の?から別途マニュアルをダウンロードしてご確認ください。
授業の形態
講義 (Lecture)
開講時期
2026年度後期
(Fall semester)
担当教員
上浦 尚武
所属
工学研究科
授業での使用言語
日本語
関連するSDGs目標
目標9
オフィスアワー・場所
オフィスアワー:随時、ただし、mailによる事前連絡要(上浦)
場所:書写6202(上浦)
連絡先
kamiura@eng.u-hyogo.ac.jp (上浦)

対応するディプロマ・ポリシー(DP)・教職課程の学修目標
二重丸は最も関連するDP番号を、丸は関連するDPを示します。
学部DP
2◎/1〇/4〇
研究科DP
全学DP
1-1◎/4-1〇/4-2〇
教職課程の学修目標

講義目的・到達目標
【講義目的・テーマ】
プログラミングの基礎となるデータ構造とアルゴリズムの理論について学習する。適切なデータ構造とそれを処理するアルゴリズムを開発・選択することは、計算機プログラムを作成する際の基本的な要素であり、情報科学の基礎でもあるため、この知識を修得することが本講義の⽬的である。
【達成目標】
本講義の到達⽬標は、データ構造と基本的アルゴリズムの基本的事柄を認識した上で、1)各種学習したアルゴリズムについて性能を時間計算量の観点で評価できること、2)各アルゴリズム設計法を、実際の問題解決に利用できるプログラムの作成に活用できること、である。
授業のサブタイトル・キーワード
サブタイトル:コンピュータサイエンスに不可欠なアルゴリズム設計手法とデータ構造解説
キーワード:時間計算量、配列、連結リスト、スタック、キュー、2分探索法、ハッシュ法、挿入ソート、ヒープソート、分割統治法、グリーディ法、動的計画法、分枝限定法、グラフ探索法、ダイクストラ法、多項式計算、行列連続積、文字列照合
講義内容・授業計画
【講義内容】
本講義では、アルゴリズムの評価基準および計算量評価についてまず論述し、その後、基本データ構造、基本概念、データ探索、ソートアルゴリズム、分割統治法、グリーディ法などの様々なアルゴリズム設計、グラフアルゴリズム、多項式計算、⽂字列照合などの紹介と説明を行う。同時にそれらの計算量に関して時間オーダーと領域オーダーの両⾯から詳説する。

【授業計画】
 1.アルゴリズムの基礎(テキスト第1章、キーワード:アルゴリズム、計算量漸近的評価、和集合)
 2.基本データ構造(テキスト第2章、キーワード:配列、連結リスト、スタック、キュー)
 3.アルゴリズムにおける基本概念(テキスト第3章、キーワード:木、再帰)
 4.データ探索(テキスト第4章、キーワード:探索アルゴリズム、2分探索法、ハッシュ法)
 5.ソートアルゴリズム(その1)(テキスト第5章、キーワード:基本ソート、挿入ソート、ヒープソート)
 6.ソートアルゴリズム(その2)(テキスト第6章、キーワード:クイックソート、ソート性能比較、ソートの安定性)
 7.効率的なアルゴリズム設計⼿法(テキスト第7章、キーワード:分割統治法)
 8.中間まとめ
 9.組み合わせ最適化手法(その1)(テキスト第8章、キーワード:グリーディ法、動的計画法)
10.組み合わせ最適化手法(その2)(テキスト第9章、キーワード:バックトラック法、分枝限定法)
11.グラフアルゴリズム(その1)(テキスト第10章、キーワード:グラフ、グラフ格納データ構造、幅優先探索)
12.グラフアルゴリズム(その2)(テキスト第10章、キーワード:深さ幅優先探索、ダイクストラ法)
13.多項式と行列(テキスト第11章、キーワード:多項式計算、行列積アルゴリズム、行列連続積)
14.文字列照合アルゴリズム(テキスト第12章、キーワード:文字列照合、ホールスプールのアルゴリズム)
15.アルゴリズムの限界(テキスト第13章、キーワード:問題のクラス階層、クラスP、クラスNP, NP完全問題、NP困難問題)
定期試験
対面・遠隔の別
対面
実施方法及び遠隔上限適用対象の別
生成AIの利用
利用する場面を限定し許可
生成AI注意点
「生成AIの利用にあたっては『本学の教育における生成AIの取扱いについて(学生向け)』の記載内容について留意すること。この講義
においては、以下の範囲において、生成AIの利用を許可し、これ以外の範囲での利用は禁止する。生成AIの利用については担当教員の指
示に従うこと。教員が認める範囲を超えて生成AIを利用したことが判明した場合は、単位を認定しない、または認定を取り消すことがあ
る。生成AIの出力した内容について、事実関係の確認や出典・参考文献を確認・追記することが重要である。また、生成AIによる出力結
果をそのまま課題・レポートとして提出してはならない。さらに,担当教員の許可なく講義資料の全部または一部を電子ファイルまたは画像
等として生成AIに入力することを禁止する。
(利用可の範囲)
利用許容範囲については、担当教員より提示される条件に従うものとする。
教科書
藤原暁宏 アルゴリズムとデータ構造、森北出版株式会社(生協で購入する)
参考文献
平田富夫 アルゴリズムとデータ構造(第3版)、森北出版
事前・事後学習(予習・復習)の内容・時間の目安
【予習】授業に際して指示するテキスト・オンデマンド教材の部分を事前読み込み(30h)
【復習】講義内容の理解を深め定着させるためにテキストを読み直し(12h)、配布プリントの解答(18h)
アクティブ・ラーニングの内容
採用しない
成績評価の基準・方法
【成績評価の基準】
 時間計算量、配列、連結リスト、スタック、キュー、2分探索法、ハッシュ法、挿入ソート、ヒープソートなどの基本的事項について理解し、より具体的なアルゴリズム設計法である分割統治法、グリーディ法、動的計画法、分枝限定法をグラフ探索、最短経路問題、多項式計算、行列連続積、文字列照合などに応用できる能力(知識、思考力、計算力)の到達度に基づき、、中間試験(50%)、期末試験(50%)により、S(90点以上)、A(80点以上)、B(70点以上)、C(60点以上)による成績評価のうえ、単位を付与する。

【成績評価の方法】
 授業計画の項目1から6について中間試験を11月中旬に行う。期末試験は2月上旬に行い、項目7から15を主な範囲として出題する。中間試験50%、期末試験50%を基準として、総合的に評価する。
課題・試験結果の開示方法
毎回講義時にプリントをユニバーサルパスポートのクラスプロファイル機能を使って公開し、その解答もクラスプロファイル機能を使って公開するとともに、講義内で解説する。
定期試験は、全体的な講評や模範解答を講義内で解説する。
履修上の注意・履修要件
・先修科目の記載:プログラミング論Ⅰ、プログラミング論Ⅱ、以上の単位取得が望ましい。
実践的教育
該当しない
備考
自然科学に基づいた専門分野の基礎力
電気、電子、情報分野の広い知識と特化した分野の知識

英語版と日本語版との間に内容の相違が生じた場合は、日本語版を優先するものとします。