データ構造とアルゴリズムを分離し,それぞれを吟味することが, 誤りのない高速なソフトウェアを設計する上で重要である. 本科目ではデータ構造については代表的なものを理解し,的確に選べること, アルゴリズムについては発想のヒントを得ることを目的とする. スタック,キュー,連結リスト,木,ヒープなどの代表的なデータ構造について 解説し, 練習問題を通してそれらを利用したソートなどの重要なアルゴリズムを解説し, 応用アルゴリズムの設計を行う.
この授業は何らかの手続き型プログラミング言語での 入出力,変数,ループ,配列,関数,構造体などの 基本的知識をもっていることを前提としている. この授業では C言語を使用するので,C言語の 初学者は別にC言語自体の教科書を入手し, C言語入門 の内容を理解してから 履修すること.
月曜 3-4 限(13:25-15:05, 15:20-17:00)
1クラス(山本担当)湘南校舎 12-305 コンピュータ室(履修者 88名)
2クラス(佐藤担当)湘南校舎 12-307 コンピュータ室(履修者 86名)
3クラス(星野担当)湘南校舎 12-309 コンピュータ室(履修者 86名)
欠席が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 などは他の数字や記号との 混同を避けるために筆記体を使用せよ.
2023年度中間試験問題, 中間試験解答例, 中間試験結果,
2022年度定期試験問題, 定期試験解答例, 定期試験結果,