Download presentation
Presentation is loading. Please wait.
Published byJulian Kołodziej Modified 5年之前
1
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正
2
Fundamentals of Data Structures in C
Instructor : 陳宗正 Office: 第二教學大樓 『 6樓』 C623 Tel: (06) ext. 2408 Textbook: Horowitz, Shani and Anderson-Freed Fundamentals of Data Structures in C (新月圖書) Reference Sedgewick, Algorithms in C (Parts 1-4) 3rd ed. Sedgewick, Algorithms in C (Parts 5) 3rd ed. Goodrich, Data Structures and Algorithms in C++ Stephen Prata, C Primer Plus 5th ed.
3
Data Structures What is data structure? Objective
重要 Data Structures What is data structure? 探討一群相關資料的資料表示方法與資料運作方法 Objective 使用最有效率的方式,對一群相關資料進行處理 Programs = Data structures + Algorithms How to analyze and design? 1. 定義資料並描述該資料對欲處理物件的特性 2. 找出並描述對該資料的各種運算 3. 考慮最適當的Data Structure,使得各種運算 的效率最佳 4. 設計一個完整的Algorithm
4
Advantages of Studying Data Structures
Solving problems by existing methods Understanding good algorithms Learning analysis and design Building complex software systems Documentation Better programming skills Knowing hardware & software Knowing an arsenal of algorithms 重要
5
Foundation for Other Fields
Various fields in our department Communication system RF Integrated Circuits Signal Processing/Image Processing Mechatronics Integrated Engineering Computer Graphics VLSI/SOC IC Design
6
Foundation for Other Fields
Theories shortest path problem queuing theory & spanning tree Estimation & Control theory Optimization & simulation Programming techniques pointer linked list stack, queue, heap, hash protocol, driver, firmware design
7
ZZZZZZZZ~~Z Question to Ask How do you start?
8
Start with Understanding
Analysis Design
9
Example Problem: Solution: Read in 3 integers
Find the largest and the smallest Solution: Using flowchart Using pseudocode
10
Structured Programming
One IN one OUT flow Three basic constructs Sequence Selection Iteration
11
Pseudocode English-like (Chinese-like) representation of the code required for an algorithm Algorithm – Logical steps necessary to solve a problem in a computer Part English and part structured code English part – easy to read Code part – extended version of the basic algorithmic constructs
12
Writing a Program – System Life Cycle
Requirements Analysis Top-down analysis Design Abstract data type Specification of algorithms (strategies) Detail design Not only create a system could be written in several languages, but pick the most efficient. Refinement and coding Implementation – coding in C Verification Correctness proofs Testing
13
C Programming Tools Visual Studio 6 Visual Studio 2005 or .NET
Visual studio 6 includes C++, BASIC, JAVA and SQL VC++ 6 is needed in this class The window command or console mode is required only NO RECOMMENDED working with the GUI/MFC Visual Studio 2005 or .NET New version of Microsoft Development Suite .NET and 2005 include various of Server Protocol C compiler on Unix and Linux and gcc and Dev-C++ on Windows – not recommended/acceptable
14
成績計算方式 期中考與期末考(筆試): 作業: 40% 若報告或程式二者缺一,則作業分數以0分計算 嚴禁抄襲、複製等行為,但鼓勵同學互相討論
各佔25% (close book) 作業: 40% 共四次作業,每次各佔10% 作業記分方式: (遲交以0分計算) (80%) 報告之完整性:須包含 (一) 簡介及問題描述 (二) 理論分析 (三) 演算法則 (四) 執行結果與討論 (五) 程式 (20%) 程式經壓縮後(RAR),以學號為檔案名稱,交予班代。班代須將其彙整後,燒成光碟,當天繳交。 若報告或程式二者缺一,則作業分數以0分計算 嚴禁抄襲、複製等行為,但鼓勵同學互相討論 鼓勵同學經常向老師或助教請教問題。老師及助教各有5%的學習態度分數。若請教的問題太過淺顯易懂,或課堂上已強調多次者,學習態度分數將被倒扣。
Similar presentations