《程式設計師實用算法》

《程式設計師實用算法》

《程式設計師實用算法》》重點關注的是實用、立即可用的代碼,並且廣泛討論了可移植性和特定於實現的細節。結構清晰,示例豐富,可作為廣大程式設計師的參考用書。

基本信息

簡介

程式設計師實用算法》作者介紹了一些有用但很少被討論的算法,它們可用於語音查找、日期和時間例程(直到公元1年)、B樹和索引檔案、數據壓縮、任意精度的算術、校驗和與數據驗證,並且還最全面地介紹了查找例程、排序算法和數據結構

內容介紹

《程式設計師實用算法》《程式設計師實用算法》
如今大多數關於算法的圖書都是大學教科書,或者是令人厭倦的相同算法集合改頭換面後的作品。本書是給出所有算法的完整代碼實現的第一本書,這些算法在開發人員的日常工作中非常有用。.
本書重點關注的是實用,立即可用的代碼,並且廣泛討論了可移植性和特定於實現的細節。本書作者介紹了一些有用但很少被討論的算法,它們可用於語音查找。日期和時間例程(直到公元1年)、B樹和索引檔案、數據壓縮、任意精度的算術,校驗和與數據驗證,並且全面地介紹了查找例程、排序算法和數據結構。..
本書只要求讀者具有C語言的初級知識以及基本代數的相關知識。原始碼經過測試符合ANSI標準,可以運行在UNIX下,以及Borland、Microsoft和Watcom的編譯器上。

作者介紹

AndrewBinstock是《UNIXReview》的主編和《CGazette》的創刊編輯。他是《HPLaserJetProgramming》(Addison-Wesley,1991)的第一作者。.
JohnRex是一位計算機顧問,專攻C和C++。他是《CGazette》的前任技術編輯,並且為許多雜誌撰寫文章。

目錄

第1章緒論
1.1評估算法
1.2修改算法
1.2.1主要的最佳化:I/O
1.2.2主要的最佳化:函式調用
1.3資源和參考資料
第2章基本數據結構
2.1鍊表
2.1.1雙向鍊表
2.1.2鍊表的其他特徵
2.2棧和佇列
2.2.1棧的特徵
2.2.2佇列的特徵
第3章散列
3.1散列的概念
3.2散列函式
3.3衝突解決方法
.3.3.1線性再散列法
3.3.2非線性再散列法
3.3.3外部拉鏈法
3.4性能問題
3.5資源和參考資料
第4章查找
4.1查找的特徵
4.1.1準備時間
4.1.2運行時間
4.1.3回溯的需要
4.2蠻力查找
4.3BoyerMoore查找
4.3.1啟發式方法#1:跳過字元
4.3.2啟發式方法#2:重複模式
4.4多字元串查找
4.5用於正則表達式的字元串
查找:grep
4.6近似字元串匹配技術
4.7語音比較:SOUNDEX算法
4.8Metaphone:現代的Soundex
4.9選擇技術
4.10資源和參考資料
4.10.1通用參考資料
4.10.2BoyerMoore
4.10.3多字元串查找
4.10.4正則表達式查找
4.10.5近似字元串匹配
4.10.6Soundex算法和Metaphone
算法
第5章排序
5.1排序的基本特徵
5.1.1穩定性
5.1.2對哨兵的需求
5.1.3對鍊表進行排序的能力
5.1.4輸入的階的相關性
5.1.5對額外存儲空間的需求
5.1.6內部排序技術與外部排序
技術
5.2排序模型
5.2.1冒泡排序
5.2.2插入排序
5.2.3希爾排序
5.2.4快速排序..
5.2.5堆排序
5.3對鍊表進行插入排序
5.4對鍊表進行快速排序
5.5對多個鍵進行排序——不穩定
排序的修正方法
5.6網路排序
5.7小結:選擇一種排序算法
5.8資源和參考資料
第6章樹
6.1二叉樹
6.1.1樹查找
6.1.2節點插入
6.1.3節點刪除
6.1.4二叉查找樹的性能
6.1.5AVL樹
6.2紅黑樹
6.3伸展樹
6.4B樹
6.4.1保持B樹平衡
6.4.2實現B樹算法
6.4.3B樹實現的代碼
6.5可以看見森林嗎
6.6資源和參考資料
第7章日期和時間
7.1日期例程的庫
7.2時間例程
7.3用於日期和時間數據的格式
7.4最後的提醒
7.5資源和參考資料
第8章任意精度的算術
8.1構建計算器8.2表示數字
8.3計算
8.4加法
8.5減法
8.6乘法
8.7除法
8.8關於計算器要注意的最後幾點
8.9用於計算平方根的牛頓算法
8.10分期付款表
8.11資源和參考資料
第9章數據壓縮
9.1行程編碼
9.2霍夫曼壓縮
9.2.1代碼
9.2.2其他問題
9.3滑動視窗壓縮
9.4基於字典的壓縮(LZW)
9.4.1LZW算法的偽代碼
9.4.2LZW壓縮的實現
9.4.3填滿字典
9.5使用哪種壓縮方法
9.6資源和參考資料
第10章數據完整性和驗證
10.1簡單的校驗和
10.2加權校驗和
10.3循環冗餘校驗
10.3.1CRCCCITT
10.3.2CRC16
10.3.3CRC32

盤點有關算法書籍

算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
《算法之道》
《妙趣橫生的算法》
《機器學習》
《光線跟蹤算法技術》
《遊戲核心算法編程內幕》
《植物的算法美》
《計算智慧型》
《組合數學教程》
《套用組合數學》
《大話數據結構》
《蟻群算法原理及其套用》
《數學建模》
《支持向量機導論》
《國際大學生程式設計競賽例題解》
《數據挖掘原理與算法》
《MATLAB函式速查手冊》
《大學算法教程》
《算法設計》
《多任務下的數據結構與算法》
《集體智慧編程》
《最最佳化理論與方法》
《深入淺出數據分析》
《群智慧型算法及其套用》
《高效程式的奧秘》
《近似算法》
《生物信息學算法導論》
《C數值算法》
《計算數論》
《ACM程式設計競賽基礎教程》
《算法引論》
《STL源碼剖析》
《新編實用算法分析與程式設計》
《並行程式設計》
《信息檢索》
《數據壓縮導論》
《多處理器編程的藝術》
《程式設計中常用的解題策略》
《圖論導引》
《算法設計與分析導論》
《分散式算法導論》
《面向千萬億次計算的算法與套用》
《分散式算法》
《數據結構與算法分析》
《具體數學》
《實時碰撞檢測算法技術》
《世界大學生程式設計競賽》
《算法設計與分析基礎》
《柔性字元串匹配》
《程式設計師實用算法》
《圖論簡明教程》
《現代最佳化計算方法》
《現代密碼學理論與實踐》
《MATLAB語言常用算法程式集》
《編程的本質》
《算法藝術與信息學競賽》

相關詞條

相關搜尋

熱門詞條

聯絡我們