內容提要
本書介紹算法領域的一些常見算法,如搜索、排序、散列、查找最短路徑和檢測環路等;討論與算法密切相關的一些數據結構與數據類型,如數組、鏈表、二叉樹、散列表、堆棧和圖等;重點闡述算法和數據結構之間的選擇。除此之外,本書還深入淺出地闡述算法復雜度的原理,并通過大量的實驗數據幫助讀者理解各種不同時間復雜度的算法的行為。
本書在解釋算法的工作原理時,就像講故事一樣娓娓道來,并提供大量的實驗數據,對不同算法的運行時間性能進行比較。本書所提供的算法實現,采用的是實際代碼而不是偽碼,讀者可以直接在自己的計算機上運行這些代碼,切身感受算法的行為和性能。書中描述算法的Python代碼并沒有使用任何復雜的語法結構,因此對Python稍有了解甚至不了解的讀者(當然至少要熟悉一種其他編程語言),在閱讀本書的代碼時應該也不會感到困難。
本書尤其適合計算機相關專業的大學生和其他相關領域的編程愛好者學習算法時使用,可為讀者深入學習算法打下堅實基礎。