2014年10月29日 星期三

演算法

演算法
2012/12/10

第1章 什麼是演算法
- 演算法(Algorithm)可以說是用來解決問題的處理順序。
- 重要的演算法種類:技術計算、分類(排序)、搜尋(檢索)、文字字元串搜尋

第2章 變數與陣列
第3章 數據資料結構
- 資料結構種類:
   陣列(Array)
   鏈結串列(Linked List)
   堆疊(Stack)
   佇列(Queue)
   樹狀結構(Tree)
   雜湊表(Hash Table)
   圖(Graph)
- 查看第N項元素時,在陣列方面,可根據後標立即進行檢索。
但鏈結串列方面,因為必須從開頭元素依序檢索,相當耗時。
- 在數據的插入、刪除方面,鏈結串列只需要操作指標即可完成,相當有效率。
而陣列會因為產生數據移動,導致時間成本變大。

第4章 基礎演算法
第5章 排序及檢索
排序 (Sort)演算法:
   桶子排序法 (Bucket Sort)
   基數排序法 (Radix Sort)
   選擇排序法 (Selection Sort)
   交換排序法 (氣泡排序法) (Bubble Sort)
   插入排序法 (Insertion Sort)
   希爾排序法 (Shell Sort)
   合併排序法 (Merge Sort)
   快速排序法 (Quick Sort)
   堆積排序法 (Heap Sort)

搜尋 (Search)演算法:
   循序搜尋法 (Linear Search)
   二元搜尋法 (Binary Search)
   單純的字元串搜尋法 (String Search)
   KMP字元串查找演算法 (Knuth-Morris-Pratt)
   BM字元串查找演算法 (Boyer-Moore)

第6章 其它的演算法
第7章 演算法的複雜度
時間複雜度 (Time Complexity)
空間複雜度 (Space Complexity)




沒有留言:

張貼留言