Data structures and algorithms
データ構造とアルゴリズム

科目紹介

データ構造とアルゴリズムを分離し,それぞれを吟味することが, 誤りのない高速なソフトウェアを設計する上で重要である. 本科目ではデータ構造については代表的なものを理解し,的確に選べること, アルゴリズムについては発想のヒントを得ることを目的とする. スタック,キュー,連結リスト,木,ヒープなどの代表的なデータ構造について 解説し, 練習問題を通してそれらを利用したソートなどの重要なアルゴリズムを解説し, 応用アルゴリズムの設計を行う.

この授業は何らかの手続き型プログラミング言語での 入出力,変数,ループ,配列,関数,構造体などの 基本的知識をもっていることを前提としている. この授業では C言語を使用するので,C言語の 初学者は別にC言語自体の教科書を入手し, C言語入門 の内容を理解してから 履修すること.

クラス,時限,教室

水曜 3-4 限(13:25-15:05, 15:20-17:00)

1クラス(山本担当)湘南校舎 12-307A, 12-307B コンピュータ室(履修者 50 名)
2クラス(佐藤担当)湘南校舎 12-309 コンピュータ室(履修者 70 名)
3クラス(星野担当)湘南校舎 16-402, 16-403 コンピュータ室(履修者 58 名)

成績判定

欠席が1/3以下かつ試験を全て受験した学生を対象に, 各回に出題する課題を総合した評価を20%, 中間テストを 40%, 定期試験を 40% として評価する.

教科書

「定本Cプログラマのためのアルゴリズムとデータ構造」,近藤嘉雪, ソフトバンククリエイティブ株式会社 (ISBN4-7973-0495-2)

文法については言語自体の参考書を持参することを勧める.

参考書:「プログラミング言語C 第2版 ANSI規格準拠」 B.W. カーニハン,D.M. リッチー著,石田晴久訳,共立出版(1989) ISBN:978-4320026926

授業スケジュール

教科書の 1 章から 16 章を学習する.ただし,5.4節,9, 10, 13章 は学習しない.

レポート

山本クラス課題と提出状況

佐藤クラス課題と提出状況

星野クラス課題と提出状況

手書き答案に関する注意

試験などで答案を手書きするとき,英語小文字の 特に l, p, q, t, u, v, w, x などは他の数字や記号との 混同を避けるために筆記体を使用せよ.

過去の試験

中間試験

2022年度中間試験問題, 中間試験解答例, 中間試験結果,

定期試験


Updated in January 10, 2023, Yamamoto Hiroshi Web