1. 程式人生 > >嵌入式開發常用的資料結構和演算法

嵌入式開發常用的資料結構和演算法

------------------------------------------------------------
做嵌入式寫下層程式碼如果不懂資料結構和演算法可能就比較悲劇了。
都是PDF格式的PPT,說白了就是一個簡易的STL的設計原理外加一點擴充。
版權:文件部分GFDL,程式碼部分LGPL。
------------------------------------------------------------
第1部分
1. 大O和迭代器 (最基本的理論)
2. 動態陣列vector(理論推導和設計原理)
3. 雙鏈表list(跟STL的雙鏈表list相似)
4. 棧和佇列stack, queue (靜態雙端佇列circular_buffer速度秒殺boost的circular_buffer,動態雙端佇列deque,分別配接成靜態動態棧和佇列)
5. 優先佇列(堆排序的思想+動態陣列vector)
http://www.cppblog.com/Files/Chipset/lectures_part1.7z

第2部分
6. 常用演算法(檢索,排序,仿函式等設計原理)
7. 輕量級關聯容器(用動態排序陣列代替紅黑樹做輕量級關聯容器,適合很少的插入和刪除,大量的檢索,記憶體緊張場合)
8. 記憶體管理器基礎(邊界標記,點陣圖,自由列表,引用計數)
9. 雜湊表(不同資料型別的雜湊演算法,三個雜湊表的原理,速度和記憶體上每一個都有不俗的表現,秒殺gcc和boost下的unordered_xxx)
http://www.cppblog.com/Files/Chipset/lectures_part2.7z
--------------------------------------------------------------
以上各部分的所有程式碼:
http://www.cppblog.com/Files/Chipset/code123456789.7z
--------------------------------------------------------------
所有的程式碼在WinXp x86用32位g++4.6.1編譯Ok,所有程式碼在Win7 x64用64位g++4.6.1編譯Ok。
發現任何問題請反饋,Chipset感謝您。