課程名稱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) 扣考規定：https://curri.ttu.edu.tw/p/412-1033-1254.php