教學大綱表 (112學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 資料結構
(英文) Data Structures
開課單位
Departments
電機工程學系
課程代碼
Course No.
E3510
授課教師
Instructor
鄭嘉慶
學分數
Credit
3.0 必/選修
core required/optional
選修 開課年級
Level
大三
先修科目或先備能力(Course Pre-requisites):計算機概論
課程概述與目標(Course Overview and Goals):This course introduces the basic concepts of data structures. We will use C++ as the vehicle to study various data structures, including arrays, stacks, queues, linked list, trees, and graphs.

Review of Basic C Programming, Basic Concepts, Arrays and Structures, Stacks and Queues, Lists, Trees, Graphs, Sorting, Hashing, Heap Structures, and Search Structures
教科書(Textbook) Data Structures & Algorithm Analysis in C++, 4th Edition, Mark A. Weiss, Addison Wesley, 2013
參考教材(Reference) C++ How to Program, 8th edition, Paul Deitel & Harvey Deitel, Pearson, 2012.
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 Course Overview Introduction. Course Overview. knowing the concepts of data structures.  
2 Review of C++ Programming Flow control, Functions Practice the flow control of C++ language  
3 Review of C++ Programming (continued) Advanced C++ Features Practice the usage of array, structure, and pointer  
4 Algorithm Analysis Mathematical basckground
Model
Running-Time
Knowing the concepts of algorithm analysis  
5 Algorithm Analysis (continued) Mathematical basckground
Model
Running-Time
Knowing the concepts of algorithm analysis  
6 Arrays and Lists (continued) Polynomials
Sparse matrices
Strings
Using C++ to implement polynomials and sparse matrix  
7 Stacks and Queues Stacks
Stack using dynamic array
Knowing the structure of stack
Using C++ language to implement stacks
 
8 Midterm Examination chapter 0 - chapter3 Review Chapter 0 - chapter 3  
9 Stacks and Queues (continued) Queues
Circular queues using dynamic arrays
Knowing the structure of Queue
Using C++ language to implement queue
 
10 Trees Introduction of trees
Binary Trees
Knowing the structure of trees
Using C++ language to implement binary tree
 
11 Trees (continued) Balanced search trees
Multi-way Search Trees
Knowing the concepts of balanced search trees and multi-way Search Trees  
12 Heaps Heaps Knowing the concepts of Heaps  
13 Hashing Hash function
Hash tables
Knowing the concepts of hashing  
14 Sorting Insertion sort, heapsort, mergesort, quicksort ...
Lower bound analysis
Knowing the concepts of sorting and a variety of sorting algorithms  
15 Sorting (continued) Insertion sort, heapsort, mergesort, quicksort ...
A general lower bound analysis
Knowing the concepts of sorting and a variety of sorting algorithms  
16 Graphs The Graph Abstract Data Type
Elementary Graph Operations
Knowing the graph structure and elementary graph operations  
17 Final Examination Chapter 4 - chapter 6 Review chapter 4 - chapter 6  
彈性教學週活動規劃

No.
實施期間
Period
實施方式
Content
教學說明
Teaching instructions
彈性教學評量方式
Evaluation
備註
Notes
1 起:2024-06-10 迄:2024-06-23 5.小專題 Project 完成指定的學習活動,包括自主學習、程式設計、成果簡報。 依成果報告評定學習表現。


教學要點概述:
1.自編教材 Handout by Instructor:
■ 1-1.簡報 Slids
■ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
□ 1-4.教科書 Textbook
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook

成績考核 Performance Evaluation: 期末考:20%   期中考:20%   彈性教學:10%   平時考:20%   作業:30%  

教學資源(Teaching Resources):
□ 教材電子檔(Soft Copy of the Handout or the Textbook)
□ 課程網站(Website)
扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504