更新日期: 2024 年 3 月 31 日
本文彙整國內外資料結構線上課程,包括美國史丹佛大學、加州大學、伊利諾大學、科羅拉多州立大學,以及台灣大學、陽明交通大學、清華大學等學習課程,提供給希望學會資料結構的朋友們參考。
史丹佛大學 Data Structures
- 課程名稱:Graph Search, Shortest Paths, and Data Structures
- 上課平台::coursera
- 課程時間:約需15小時來完成課程
- 課程說明:史丹佛大學的演算法專項課程(Algorithms Specialization)的一部分。
- 課程內容:
- Breadth-first and depth-first search; computing strong components; applications.
- Dijkstra’s shortest-path algorithm.
- Heaps; balanced binary search trees.
- Hashing; bloom filters.
美國加州大學Data Structures
Data Structures and Performance
- 課程名稱:Data Structures and Performance
- 上課平台:coursera
- 課程時間:約需41小時來完成學習
- 課程說明:以Java學習資料結構,包含於以下2個專項課程內
- 課程內容:
- Working with Strings
- Efficiency Analysis and Benchmarking
- Interfaces, Linked Lists vs. Arrays, and Correctness
- Trees! (including Binary Search Trees and Tries)
- Hash Maps and Edit Distance
Advanced Data Structures in Java
- 課程名稱:Advanced Data Structures in Java
- 上課平台:coursera
- 課程時間:約需28小時來完成學習
- 課程說明:以Java學習進階資料結構
- 課程內容:
- Introduction to Graphs
- Class design and simple graph search
- Finding shortest paths in weighted graphs
- Route planning and NP-hard graph problems
- End of Course Project Extension
美國伊利諾大學-電腦科學基礎-資料結構與演算法
- 課程名稱:Accelerated Computer Science Fundamentals Specialization
- 上課平台:coursera
- 課程時間:每週學習5小時,約3個月可完成課程;每週學習10小時,約2個月可完成課程
- 課程說明:
- 本課程目標在於幫助有意攻讀線上電腦科學碩士(Online Master of Computer Science (MCS))、資料科學碩士(MCS in Data Science)的學習者,課程涵蓋物件導向程式設計、演算法的漸進運行時間分析,及資料結構基礎與實作,包括陣列、雜湊表、鏈結串列、樹、堆積和圖形,以及遍歷、重新平衡和最短路徑等演算法。
- 在課程的網頁界面中練習C++實作,每個子課課程包含2個較大的實作專案,例如編輯圖像、高效操作資料結構或解決圖形搜索問題。
- 課程內容:包含3個專項課程
- Object-Oriented Data Structures in C++(約需21小時來完成課程)
- Orientation; Writing a C++ Program
- Understanding the C++ Memory Model
- Developing C++ Classes
- Engineering C++ Software Solutions
- Ordered Data Structures(約需18小時來完成課程)
- Orientation; Linear Structures
- Introduction to Tree Structures
- Advanced Tree Structures
- Heap Structures
- Unordered Data Structures(約需20小時來完成課程)
- Orientation; Hashing
- Disjoint Sets
- Graph Data Structures
- Graph Algorithms
- Object-Oriented Data Structures in C++(約需21小時來完成課程)
美國科羅拉多州立大學-遊戲開發者的資料結構課
- 課程名稱:Data Structures and Design Patterns for Game Developers
- 上課平台:coursera
- 課程時間:約需22小時來完成學習
- 課程說明:
- 須具備C#和Unity基礎。
- 為完成C# Programming for Unity Game Development Specialization專項課程後的進階學習。
- 儘管課程主要是針對遊戲開發面向的教學,也適用於用ASP.NET編寫網頁應用程式、使用WinForms構建工具等軟體開發。
- 課程內容:
- Dynamic Arrays and Algorithm Analysis
- Linked Lists and Graphs
- Stacks, Queues, and Trees
- Design Patterns
臺灣大學-資料結構線上課程(孔令傑教授)
- 課程名稱:資料結構
- 上課平台:Youtube
- 課程時間:33個影片,每個影片長度約7~15分鐘
- 課程說明:由臺灣大學 資訊管理學系 孔令傑教授上課。
- 課程內容:課程區分3大部分,分為3講-
- Data Abstraction and Bag
- Recursion and Algorithm Complexity
- Stacks
陽明交通大學-資料結構(彭文志教授)
- 課程名稱:資料結構
- 上課平台:陽明交通大學、Youtube、HiSKIO
- 課程時間:課程影片長度約26.5小時
- 課程說明:
- 由陽明交通大學 資訊工程學系 彭文志教授上課。
- HiSKIO線上課程平台,經授權重新剪輯、整理、後製後,系統化整理課程單元、提供課程簡報,並可記錄學習進度,免費上課。
- 課程用書為Fundamentals of Data Structures in C++, E. Horowitz, S. Sahni and D. Mehta, Computer Science Press.
- 課程內容:
- Introduction (Concepts, Recursion, Algorithm Analysis)
- Arrays
- Stacks & Queues
- Lists
- Trees
- Graphs
- Sorting
- Hashing
- Advanced Data Structures
清華大學-資料結構(蔡仁松教授)
- 課程名稱:資料結構
- 上課平台:清華大學、Youtube
- 課程時間:約需 小時來完成學習
- 課程說明:
- 由清華大學 資訊工程學系 蔡仁松教授上課,課程快速複習 C++,再進行資料結構的教學。
- 課程用書為Fundamentals of Data Structures in C++, E. Horowitz, S. Sahni, and D. Mehta, 2nd ed., 2006.
- 課程內容:
- Basic Concepts
- Arrays
- Stacks and queues
- linked lists
- Trees
- Graphs
- Sorting
- Hashing
- Selected related topics
延伸閱讀: