アルゴリズムとデータ構造は、プログラム作成に必要不可欠であり、計算機科学・工学のあらゆる分野で多くのデータ構造とアルゴリズムが考案されている。 本授業では、いくつかの基本的なアルゴリズムとデータ構造、計算の量を客観的に評価する方法を学び、今後いろいろな場面で必要となる、様々なアルゴリズムを理解・開発するための基礎力を養うことを目的とする。
この科目はデータサイエンス基礎科目の一つであり、「データベース」「プログラミング3・4」などのデータエンジニアリングに関連する科目、「AI・機械学習」などのデータサイエンス科目を学ぶうえで基礎的な知識となる。
この授業は数理・データサイエンス・AI教育プログラム(応用基礎レベル)の対象科目です。
|
|
|
アルゴリズムとデータ構造の基礎概念を学ぶとともに、Pythonプログラミングを用いて、待ち行列やスタックといったデータ構造の設計方法やソーティング、探索といったアルゴリズムを開発するための基礎力を養う。最終的に、ビッグデータに対応したアルゴリズム設計とデータ解析を行うための論理的・数学的な能力の獲得をめざす。
ディプロマポリシーの「データエンジニアリングとデータアナリシスの専門知識とスキルを修得し、データサイエンスの基礎的力量を備えている。」が当てはまる。
|
|
|
第1回
|
「アルゴリズム/データ構造とは」
|
第2回
|
「データ構造:配列」
|
第3回
|
「フローチャート / 配列のデータ操作」
|
第4回
|
「クラスとリンクリスト」
|
第5回
|
「リンクリストの探索 / 時間計算量」
|
第6回
|
「スタックとキュー 」
|
第7回
|
「木構造」
|
第8回
|
「線形探索・二分探索」
|
第9回
|
「二分探索木」
|
第10回
|
「ソート(1):クイックソート」
|
第11回
|
「ハッシュテーブル」
|
第12回
|
「ソート(2):ヒープソート」
|
第13回
|
「グラフ探索」
|
第14回
|
「最短路探索」
|
第15回
|
「さまざまなアルゴリズム」
|
|
|
|
|
各講義に関連する練習問題・課題を各回3~4題提示するので、次の講義時間までに取り組みSULMSを通じて提出する。 課題を進めるために1時間程度、事前学習に1時間程度は最低必要である。
|
|
|
各講義で課す練習問題・課題の提出状況を40%、期末試験の点数を60%として評価する。
|
|
|
①授業内提出課題、②期末試験、合計点について、 秀: 90点以上、優: 80点以上、良: 70点以上、可:60点以上、不可: 60点未満とする。
①授業内提出課題 全体で課題を課した回数をnとするとき、各課題を提出した場合に40/n点を与える。 全ての課題を提出した場合は40点を与える。
②期末試験 満点を60点として問題ごとに評点する。
|
|
|
|
|
9784780607031
|
|
データ構造とアルゴリズム
|
|
川井明 [ほか] 著,川井, 明,梅津, 高朗,高柳, 昌芳,市川, 治,竹村, 彰通,
|
|
学術図書出版社
|
|
2018
|
|
|
|
|
|
|
|
|
|
|
|
講義の一部でPythonによるプログラミングを行います. Pythonのプログラミング経験がなくても支障が無いよう講義を設計していますが,可能であれば事前に予習しておいてください.
|
|
|
|
|
|