課程資訊
課程名稱
資料結構與演算法
DATA STRUCTURES AND ALGORITHMS 
開課學期
97-1 
授課對象
生物資源暨農學院  生物機電工程學研究所  
授課教師
陳倩瑜 
課號
BME5902 
課程識別碼
631 U1250 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期二5(12:20~13:10)星期五@,5(~13:10) 
上課地點
知203知203 
備註
總人數上限:50人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/971DataStruAlgo 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

此一課程特編針對生機系大學部同學設計, 旨於介紹多種常用之資料結構與相關演算法,增進修課學生的程式設計能力,以期未來能在不同領域實際應用。 

課程目標
本課程將搭配C++程式編輯,介紹多種可使用的資料結構,引領學生了解現有演算法,解決實際問題。 
課程要求
修過基本程式設計課程者佳(any language is fine, ext. C, C++, Java, Perl, ...) 
預期每週課後學習時數
 
Office Hours
每週五 16:00~17:00
每週一 13:00~14:00 
指定閱讀
 
參考書目
1. Robert Sedgewick, Algorithms in C++, Parts 1-4: Fundamentals, Data
Structure, Sorting, Searching (3rd Edition), Addison-Wesley Professional, 1998.
2. Elliot B. Koffman and Paul A. T. Wolfgang, Objects, Abstraction, Data
Structures and Design: Using C++, Wiley, 2005.
3. Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh Vazirani, Algorithms,
McGraw-Hill, 2006. (http://www.cs.berkeley.edu/~vazirani/algorithms.html)
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
期中考 
30% 
 
2. 
期末考 
30% 
 
3. 
作業 
40% 
 
 
課程進度
週次
日期
單元主題
第1週
09/16,09/19  Introduction (9/19因出席國際會議停課一次, 補課時間另訂) 
第2週
09/23,09/26  (9/23因出席國際會議停課一次, 補課時間另訂) Introduction 
第3週
09/30,10/03  Principles of Algorithm Analysis 
第4週
10/07,10/10  Basic recurrences (10/10 國慶日 放假一天) 
第5週
10/14,10/17  Recurrences / Arrays, Linked Lists 
第6週
10/21,10/24  Memory Allocation, Strings 
第7週
10/28,10/31  Stack, Queues 
第8週
11/04,11/07  ADT implementation 
第9週
11/11,11/14  Recursion, Divide and Conquer, Dynamic Programming 
第10週
11/18,11/21  (11/18) (11/21)期中考 
第11週
11/25,11/28  Tree Traversal, Recursion 
第12週
12/02,12/05  Binary trees 
第13週
12/09,12/12  Tree and graph traversal 
第14週
12/16,12/19  Graph traversal, priority queue 
第15週
12/23,12/26  Heapsort 
第16週
12/30,01/02  Greedy Algorithms, Minimum Spanning Trees (1/2彈性放假) 
第17週
01/06,01/09  Hashing 
第18週
01/13,01/16  (1/13)12:40~14:10期末考I, (1/16)12:40~14:10期末考II