fbpx

P 728x90 113

 

 

10th el sale banner
課程名稱:資料結構精修
資料結構?演算法?
為了設計出一個有效率的演算法來解決問題。通常得事先將要處理的原始資料進行一些特定處理或擺放,將有助於整個演算法的效能提升。
計算機軟體對於資料的處理,首當設計資料結構,該記錄那些資料、要用什麼方式來儲存,接著對於這群資料該如何進行新增、插入、刪除、搜尋等操作。
資料結構這門學科旨在說明計算機軟體有那些常用的資料結構,如Array, Linked List, Stack, Queue, Tree, Graph等,而對應這些不同的資料結構必然會有不同的操作方式…



課程目標

資料結構(Data Structures)是資訊學科中的核心課程之一,也是嵌入式軟體設計的基礎課程。「資料結構精修班」教授軟體開發者必修的資料結構和演算法,讓你思考程式的執行效率。

1. 不僅學會撰寫程式並能夠清楚掌握程式的重要觀念,了解”軟體程式=演算法+資料結構。
2. 能熟悉不同資料結構的設計模式。
3. 能了解軟體程式在何時會應用到這些資料結構。
4. 藉由排序與搜尋演算法理解來討論Big-O演算法效能分析。 

課程特色

1. 資深軟體工程師上的資料結構。
    資料結構不是用來考試的,給你真正用軟體設計思維思考資料結構設計。
2. 重視實作的方法。
    資料結構不能只會觀念性描述, 還必須知道每一個結構定義完之後, 該如何具體實現, 每一個實現的方法,還能分析它的好壞 (複雜度分析)。

 down 728x90

課程說明

課程提供的資料結構範例程式,可以使用任何C編譯器進行編譯,例如Code Blocks windows Dev-C++ 或 Linux 下的 GNU C 編譯器 (gcc)
  

• 課程總時數 : 16小時
• 觀看天數:45天
• 課程所附教材 : 精編講義、範例程式碼

  • Part1-資料結構導論
  • Part2-ADT 抽象資料型別設計方法
  • Part3-Set 集合ADT設計
  • Part4-Stack堆疊
  • 堆疊ADT設計
    堆疊軟體應用
  • Part5-Queue 佇列
  • 佇列ADT設計
    環狀佇列ADT設計
    堆疊軟體應用
  • Part6-Linked List鏈結串列
  • 動態配置記憶體
    單向鏈結串列
    環狀鏈結串列
    使用C鏈結串列的各式操作-串列串接、串列反轉
  • Part7-Tree樹狀結構
  • 二元樹簡介
    樹ADT設計
    二元搜尋樹(Binary Search Tree)
    • 建立(插入)節點、搜尋節點、刪除節
  • Part8-Graph 圖形結構
  • 圖ADT設計
    • 圖的表示法
    • 建構圖、刪除邊、刪除頂點
    圖走訪
    • DFS
    • BFS
    軟體應用- 求最短路徑
    • Dijkstra 演算法
    • Bellman-Ford演算法
  • Part9-Search資料搜尋
  • 線性搜尋 (Linear Search)
    二元搜尋 (Binary Search)
    雜湊搜尋法 (Hashing)
  • Part10-Sorting資料排序
  • 氣泡排序(bubble sort)
    選擇排序(selection sort)
    插入排序(insertion sort)
    快速排序(quick sort)
    合併排序(merge sort)
    桶排序(bucket sort)
課程實錄

 

適合對象

1. 具備程式設計基礎,熟悉C語言者尤佳 (範例程式碼目前僅提供C程式版本)。
2. 想要從事軟體設計開發,但缺乏良好的系統設計概念者。 

職涯方向

嵌入式工程師 | 韌體工程師 | 網路應用程式設計師 | Linux平台驅動程式開發 | ARM Bootloader設計

down 728x90
更多延伸學習
 

課程諮詢