算法的樂趣

算法的樂趣 pdf epub mobi txt 電子書 下載 2025

王曉華 著
圖書標籤:
  • 算法
  • 數據結構
  • 編程
  • 計算機科學
  • 趣味編程
  • 入門
  • 學習
  • 代碼
  • 思維訓練
  • 問題解決
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115385376
版次:1
商品編碼:11670027
包裝:平裝
開本:16開
齣版時間:2015-03-01
用紙:膠版紙
頁數:420
正文語種:中文

具體描述

編輯推薦

適讀人群 :適閤軟件開發人員、編程和算法愛好者以及計算機專業的學生閱讀
CSDN超人氣博主、算法專欄達人王曉華力作
淋灕盡緻展現算法本質,廣泛涵蓋常用算法結構及其應用
一本書玩轉算法,盡享算法樂趣

內容簡介

  算法之大,大到可以囊括宇宙萬物的運行規律;算法之小,小到寥寥數行代碼即可展現一個神奇的功能。算法的應用和樂趣在生活中無處不在:
  曆法和二十四節氣計算使用的是霍納法則和求解一元高次方程的牛頓迭代法;
  音頻播放器跳動的實時頻譜背後是離散傅立葉變換算法;
  DOS時代的PCX圖像文件格式使用的是簡單有效的RLE壓縮算法;
  RSA加密算法的光環之下是樸實的歐幾裏德算法、濛哥馬利算法和米勒-拉賓算法;
  井字棋、黑白棋、五子棋和俄羅斯方塊遊戲背後是各種有趣的AI算法;
  華容道遊戲求解的簡單窮舉算法中還蘊藏著對棋盤狀態的哈希算法;
  遺傳算法神秘不可測,但用遺傳算法求解0-1背包問題隻用瞭60多行代碼……
  《算法的樂趣》帶你走進色彩繽紛的算法世界,讓你盡享算法的樂趣。

作者簡介

  王曉華 ,2005年畢業於華中科技大學,目前在中興通訊上海研發中心從事光縴接入網通訊設備開發,擔任EPON(以太網無源光網絡)業務軟件開發經理,參與開發的PON設備在全球部署過億綫,為數億傢庭提供寬帶接入服務。
  業餘時間喜歡研究算法和寫作博客,樂趣就是用程序解決生活中的問題:
  為瞭方便使用Visual Studio 6.0開發軟件,曾特意編寫並開源瞭一個tabbar插件;
  為瞭文檔安全,開發瞭一個基於layerFSD技術的透明文件加密係統;
  使用Source Insight軟件覺得不習慣,於是以外掛的形式開發瞭TabSiPlus插件……

內頁插圖

精彩書評

  ★“另外兩本排名靠前的經典算法教材是Jon Kleinberg的Algorithm Design和Steven S Skiena的The Algorithm Design Manual。這兩本齣自名傢之手的教材和很多教材一樣,按照算法的類型或者背後的設計思路來組織內容。這是教材應該做的,“授人以魚不如授人以漁”,傳授思路而不是算法本身是教材的寫作目的。可是算法有意思的地方首先在於算法本身,因為算法是為瞭解決實際問題而設計的,所以讓大傢認識到算法奧妙的自然順序應該是先展示有趣的問題,再展示優雅的算法,結尾歸納設計思路。而這正是《算法的樂趣》吸引人的地方。
  “我曾經以為從樂趣齣發闡述算法的書會從西方發芽,沒想到先看到瞭一本中文書。這真超齣瞭我的預料。”
  ——王益,LinkedIn高級主任分析師

  ★“這本書給我的驚喜是沒有像一般的算法書一樣單純地去講算法和數據結構本身,那樣無論語言多風趣,隻要一談到關鍵的問題也會馬上變得無趣起來。作者在每一章都舉給齣瞭一個實際的問題,然後嘗試用算法去解決這個問題,沒有局限於通用類算法,而是同時涵蓋邏輯類算法、通用類算法和專業類算法,真正是在訓練讀者解決問題的能力,而解決問題的能力,正是任何一傢公司所需人纔的核心的技能。”
  ——黃鑫((飛林沙)),極光推送首席科學傢

  ★“如果說《啊哈!算法》是算法界的小白書,內容太少看得不過癮,那麼這本《算法的樂趣》或許可以帶你一起牛逼一起飛。當我剛拿到書的目錄的時候,我就很期待,因為終於有一本算法書可以係統地和大夥說一說這些我也很想與大夥說的偉大算法。”
  ——啊哈磊,《啊哈!算法》作者

目錄

第1章 程序員與算法
1.1 什麼是算法
1.2 程序員必須要會算法嗎
1.2.1 一個隊列引發的慘案
1.2.2 我的第一個算法
1.3 算法的樂趣在哪裏
1.4 算法與代碼
1.5 總結
1.6 參考資料
第2章 算法設計的基礎
2.1 程序的基本結構
2.1.1 順序執行
2.1.2 循環結構
2.1.3 分支和跳轉結構
2.2 算法實現與數據結構
2.2.1 基本數據結構在算法設計中的應用
2.2.2 復雜數據結構在算法設計中的應用
2.3 數據結構和數學模型與算法的關係
2.4 總結
2.5 參考資料
第3章 算法設計的常用思想
3.1 貪婪法
3.1.1 貪婪法的基本思想
3.1.2 貪婪法的例子:0-1 背包問題
3.2 分治法
3.2.1 分治法的基本思想
3.2.2 遞歸和分治,一對好朋友
3.2.3 分治法的例子:大整數Karatsuba 乘法算法
3.3 動態規劃
3.3.1 動態規劃的基本思想
3.3.2 動態規劃法的例子:字符串的編輯距離
3.4 解空間的窮舉搜索
3.4.1 解空間的定義
3.4.2 窮舉解空間的策略
3.4.3 窮舉搜索的例子:Google 方程式
3.5 總結
3.6 參考資料
第4章 阿拉伯數字與中文數字
4.1 中文數字的特點
4.1.1 中文數字的權位和小節
4.1.2 中文數字的零
4.2 阿拉伯數字轉中文數字
4.2.1 一個轉換示例
4.2.2 轉換算法設計
4.2.3 算法實現
4.2.4 中文大寫數字
4.3 中文數字轉阿拉伯數字
4.3.1 轉換的基本方法
4.3.2 算法實現
4.4 數字轉換的測試用例
4.5 總結
4.6 參考資料
第5章 三個水桶等分8 升水的問題
5.1 問題與求解思路
5.2 建立數學模型
5.2.1 狀態的數學模型與狀態樹
5.2.2 倒水動作的數學模型
5.3 搜索算法
5.3.1 狀態樹的遍曆
5.3.2 剪枝和重復狀態判斷
5.4 算法實現
5.5 總結
5.6 參考資料
第6章 妖怪與和尚過河問題
6.1 問題與求解思路
6.2 建立數學模型
6.2.1 狀態的數學模型與狀態樹
6.2.2 過河動作的數學模型
6.3 搜索算法
6.3.1 狀態樹的遍曆
6.3.2 剪枝和重復狀態判斷
6.4 算法實現
6.5 總結
6.6 參考資料
第7章 穩定匹配與舞伴問題
7.1 穩定匹配問題
7.1.1 什麼是穩定匹配
7.1.2 Gale-Shapley 算法原理
7.2 Gale-Shapley 算法的應用實例
7.2.1 算法實現
7.2.2 改進優化:空間換時間
7.3 有多少穩定匹配
7.3.1 窮舉所有的完美匹配
7.3.2 不穩定因素的判斷算法
7.3.3 窮舉的結果
7.4 二部圖與二分匹配
7.4.1 最大匹配與匈牙利算法
7.4.2 帶權匹配與Kuhn-Munkres算法
7.5 總結
7.6 參考資料
第8章 愛因斯坦的思考題
8.1 問題的答案
8.2 分析問題的數學模型
8.2.1 基本模型定義
8.2.2 綫索模型定義
8.3 算法設計
8.3.1 窮舉所有的組閤結果
8.3.2 利用綫索判定結果的正確性
8.4 總結
8.5 參考資料
第9章 項目管理與圖的拓撲排序
9.1 AOV 網和AOE 網
9.2 拓撲排序
9.2.1 拓撲排序的基本過程
9.2.2 按照活動開始時間排序
9.3 關鍵路徑算法
9.3.1 什麼是關鍵路徑
9.3.2 計算關鍵路徑的算法
9.4 總結
9.5 參考資料
第10章 RLE 壓縮算法與PCX 圖像文件格式
10.1 RLE 壓縮算法
10.1.1 連續重復數據的處理
10.1.2 連續非重復數據的處理
10.1.3 算法實現
10.2 RLE 與PCX 圖像文件格式
10.2.1 PCX 圖像文件格式
10.2.2 PCX_RLE 算法
10.2.3 256 色PCX 文件的解碼和顯示
10.3 總結
10.4 參考資料
第11章 算法與曆法
11.1 格裏曆(公曆)生成算法
11.1.1 格裏曆的曆法規則
11.1.2 今天星期幾
11.1.3 生成日曆的算法
11.1.4 日曆變更那點事兒
11.2 二十四節氣的天文學計算
11.2.1 二十四節氣的起源
11.2.2 二十四節氣的天文學定義
11.2.3 VSOP-82/87 行星理論
11.2.4 誤差修正--章動
11.2.5 誤差修正--光行差
11.2.6 用牛頓迭代法計算二十四節氣
11.3 農曆朔日(新月)的天文學計算
11.3.1 日月閤朔的天文學定義
11.3.2 ELP-2000/82 月球理論
11.3.3 誤差修正--地球軌道離心率修正
11.3.4 誤差修正--黃經攝動
11.3.5 月球地心視黃經和最後的修正--地球章動
11.3.6 用牛頓迭代法計算日月閤朔
11.4 農曆的生成算法
11.4.1 中國農曆的起源與曆法規則
11.4.2 中國農曆的推算
11.4.3 一個簡單的"年曆"
11.5 總結
11.6 參考資料
第12章 實驗數據與麯綫擬閤
12.1 麯綫擬閤
12.1.1 麯綫擬閤的定義
12.1.2 簡單綫性數據擬閤的例子
12.2 最小二乘法麯綫擬閤
12.2.1 最小二乘法原理
12.2.2 高斯消元法求解方程組
12.2.3 最小二乘法解決"速度與加速度"實驗
12.3 三次樣條麯綫擬閤
12.3.1 插值函數
12.3.2 樣條函數的定義
12.3.3 邊界條件
12.3.4 推導三次樣條函數
12.3.5 追趕法求解方程組
12.3.6 三次樣條麯綫擬閤算法實現
12.3.7 三次樣條麯綫擬閤的效果
12.4 總結
12.5 參考資料
第13章 非綫性方程與牛頓迭代法
13.1 非綫性方程求解的常用方法
13.1.1 公式法
13.1.2 二分逼近法
13.2 牛頓迭代法的數學原理
13.3 用牛頓迭代法求解非綫性方程的實例
13.3.1 導函數的求解與近似公式
13.3.2 算法實現
13.4 參考資料
第14章 計算幾何與計算機圖形學
14.1 計算幾何的基本算法
14.1.1 點與矩形的關係
14.1.2 點與圓的關係
14.1.3 矢量的基礎知識
14.1.4 點與直綫的關係
14.1.5 直綫與直綫的關係
14.1.6 點與多邊形的關係
14.2 直綫生成算法
14.2.1 什麼是光柵圖形掃描轉換
14.2.2 數值微分法
14.2.3 Bresenham 算法
14.2.4 對稱直綫生成算法
14.2.5 兩步算法
14.2.6 其他直綫生成算法
14.3 圓生成算法
14.3.1 圓的八分對稱性
14.3.2 中點畫圓法
14.3.3 改進的中點畫圓法--Bresenham 算法
14.3.4 正負判定畫圓法
14.4 橢圓生成算法
14.4.1 中點畫橢圓法
14.4.2 Bresenham 橢圓算法
14.5 多邊形區域填充算法
14.5.1 種子填充算法
14.5.2 掃描綫填充算法
14.5.3 改進的掃描綫填充算法
14.5.4 邊界標誌填充算法
14.6 總結
14.7 參考資料
第15章 音頻頻譜和均衡器與傅裏葉變換算法
15.1 實時頻譜顯示的原理
15.2 離散傅裏葉變換
15.2.1 什麼是傅裏葉變換
15.2.2 傅裏葉變換原理
15.2.3 快速傅裏葉變換算法的實現
15.3 傅裏葉變換與音頻播放的實時頻譜顯示
15.3.1 頻域數值的特點分析
15.3.2 從音頻數據到功率頻譜
15.3.3 音頻播放時實時頻譜顯示的例子
15.4 破解電話號碼的小把戲
15.4.1 撥號音的頻譜分析
15.4.2 根據頻譜數據反推電話號碼
15.5 離散傅裏葉逆變換
15.5.1 快速傅裏葉逆變換的推導
15.5.2 快速傅裏葉逆變換的算法實現
15.6 利用傅裏葉變換實現頻域均衡器
15.6.1 頻域均衡器的實現原理
15.6.2 頻域信號的增益與衰減
15.6.3 均衡器的實現--仿Foobar的18 段均衡器
15.7 總結
15.8 參考資料
第16章 全局最優解與遺傳算法
16.1 遺傳算法的原理
16.1.1 遺傳算法的基本概念
16.1.2 遺傳算法的處理流程
16.2 遺傳算法求解0-1 背包問題
16.2.1 基因編碼和種群初始化
16.2.2 適應度函數
16.2.3 選擇算子設計與輪盤賭算法
16.2.4 交叉算子設計
16.2.5 變異算子設計
16.2.6 這就是遺傳算法
16.3 總結
16.4 參考資料
第17章 計算器程序與大整數計算
17.1 哦,溢齣瞭,齣洋相的計算器程序
17.2 大整數計算的原理
17.2.1 大整數加法
17.2.2 大整數減法
17.2.3 大整數乘法
17.2.4 大整數除法與模
17.2.5 大整數乘方運算
17.3 大整數類的使用
17.3.1 與Windows的計算器程序一決高下
17.3.2 最大公約數和最小公倍數
17.3.3 用擴展歐幾裏得算法求模的逆元
17.4 總結
17.5 參考資料
第18章 RSA 算法--加密與簽名
18.1 RSA 算法的開胃菜
18.1.1 將模冪運算轉化為模乘運算
18.1.2 模乘運算與濛哥馬利算法
18.1.3 模冪算法
18.1.4 素數檢驗與米勒-拉賓算法
18.2 RSA 算法原理
18.2.1 RSA 算法的數學理論
18.2.2 加密和解密算法
18.2.3 RSA 算法的安全性
18.3 數據塊分組加密
18.3.1 字節流與大整數的轉換
18.3.2 PCKS 與OAEP 加密填充模式
18.3.3 數據加密算法實現
18.3.4 數據解密算法實現
18.4 RSA 簽名與身份驗證
18.4.1 RSASSA-PKCS 與RSASSAPSS簽名填充模式
18.4.2 簽名算法實現
18.4.3 驗證簽名算法實現
18.5 總結
18.6 參考資料
第19章 數獨遊戲
19.1 數獨遊戲的規則與技巧
19.1.1 數獨遊戲的規則
19.1.2 數獨遊戲的常用技巧
19.2 計算機求解數獨問題
19.2.1 建立問題的數學模型
19.2.2 算法實現
19.2.3 與傳統窮舉方法的結果對比
19.3 關於數獨的趣味話題
19.3.1 數獨遊戲有多少終盤
19.3.2 史上最難的數獨遊戲
19.4 總結
19.5 參考資料
第20章 華容道遊戲
20.1 華容道遊戲介紹
20.2 自動求解的算法原理
20.2.1 定義棋盤的局麵
20.2.2 算法思路
20.3 自動求解的算法實現
20.3.1 棋局狀態與Zobrist 哈希算法
20.3.2 重復棋局和左右鏡像的處理
20.3.3 正確結果的判斷條件
20.3.4 武將棋子的移動
20.3.5 棋局的搜索算法
20.4 總結
20.5 參考資料
第21章 A*尋徑算法
21.1 尋徑算法演示程序
21.2 Dijkstra 算法
21.2.1 Dijkstra 算法原理
21.2.2 Dijkstra 算法實現
21.2.3 Dijkstra 算法演示程序
21.3 帶啓發的搜索算法--A*算法
21.3.1 A*算法原理
21.3.2 常用的距離評估函數
21.3.3 A*算法實現
21.4 總結
21.5 參考資料
第22章 俄羅斯方塊遊戲
22.1 俄羅斯方塊遊戲規則
22.2 俄羅斯方塊遊戲人工智能的算法原理
22.2.1 影響評價結果的因素
22.2.2 常用的俄羅斯方塊遊戲人工智能算法
22.2.3 Pierre Dellacherie 評估算法
22.3 Pierre Dellacherie 算法實現
22.3.1 基本數學模型和數據結構定義
22.3.2 算法實現
22.4 總結
22.5 參考資料
第23章 博弈樹與棋類遊戲
23.1 棋類遊戲的AI
23.1.1 博弈與博弈樹
23.1.2 極大極小值搜索算法
23.1.3 負極大極搜索算法
23.1.4 "α-β"剪枝算法
23.1.5 估值函數
23.1.6 置換錶與哈希函數
23.1.7 開局庫與終局庫
23.2 井字棋--最簡單的博弈遊戲
23.2.1 棋盤與棋子的數學模型
23.2.2 估值函數與估值算法
23.2.3 如何産生走法(落子方法)
23.3 奧賽羅棋(黑白棋)
23.3.1 棋盤與棋子的數學模型
23.3.2 估值函數與估值算法
23.3.3 搜索算法實現
23.3.4 最終結果
23.4 五子棋
23.4.1 棋盤與棋子的數學模型
23.4.2 估值函數與估值算法
23.4.3 搜索算法實現
23.4.4 最終結果
23.5 總結
23.6 參考資料
附錄A 算法設計的常用技巧
A.1 數組下標處理
A.2 一重循環實現兩重循環的功能
A.3 棋盤(迷宮)類算法方嚮遍曆
A.4 代碼的一緻性處理技巧
A.5 鏈錶和數組的配閤使用
A.6 "以空間換時間"的常用技巧
A.7 利用錶驅動避免長長的switch-case
附錄B 一個棋類遊戲的設計框架
B.1 代碼框架的整體結構
B.2 代碼框架的使用方法

前言/序言

  程序員與算法,這是一個永恒的話題,無論在哪個論壇,隻要齣現此類主題的帖子,一定會看到兩種針鋒相對的觀點的“激烈碰撞”。其實泡過論壇的人都知道,兩種觀點“激烈辯論”的慘烈程度往往可以上升到互相問候先人的高度,即使是技術論壇也不例外。在準備此書之前,我在博客的“算法係列”專欄已經陸陸續續地寫瞭有一年多的時間,在此期間,不斷有讀者問我:“程序員必須會算法嗎?”我實在不想讓我的博客成為噴滿各種口水的是非之地,所以一般不正麵迴答,隻是籠統地說些“各行各業情況都不盡相同”之類的話,避免站隊。
  程序員對算法通常懷有復雜的感情,算法很重要是大傢的共識,但是是否每個程序員都必須學算法是主要的分歧點。本書是想重新定義程序員對算法的理解,並不想通過說教的方式給齣到底是學還是不學的結論。很多人可能覺得像人工智能、視頻與音頻處理以及數據搜索與挖掘這樣高大上的內容纔能稱為算法,往往覺得算法深不可測。但是這些其實都不是具體的算法,而是一係列算法的集閤,這裏麵既有各種大名鼎鼎的算法,比如神經網絡、遺傳算法、離散傅裏葉變換算法以及各種插值算法,也有不起眼的排序和概率計算的算法。你必須深入地瞭解它們,纔會領略到算法的實質——解決問題。忽視這一點,片麵地或抽象地理解算法,就會使對算法的理解變得形而上學。在我的博客裏就有人留言質疑:“窮舉也算是算法?”且不說搜索和枚舉是算法的基礎設計模式之一,單就那麼多的NPC問題(比如著名的漢密爾頓迴路問題,至今還沒有找到多項式時間的算法),實際上,從隻有窮舉算法和其他隨機搜索算法纔能求解這一點看,任何人都不能小看它。
  狹隘的算法定義會將自己局限在一個小角落裏,從而錯過瞭整個色彩繽紛的算法世界。本書將帶你開啓一段算法之旅,在這裏,你將會看到各種構造算法的基礎方法,比如貪婪法、分治法、動態規劃法,等等,也可以通過一個個示例看到如何應用這些算法來解決實際問題。通過對“愛因斯坦的思考題”“三個水桶等分水”“妖怪與和尚過河問題”等趣味智力題的計算機求解算法設計,你可以領會到算法設計的三個關鍵問題,以及對這些問題的處理方法,為以後解決這樣的問題提供舉一反三的基礎。
  在生活中,凡是有樂趣的地方就有算法。本書將介紹生活中無處不在的算法。在曆法計算的章節裏,你會看到霍納法則(Horner’srule)的使用和求解一元高次方程的牛頓迭代法;音頻播放器上跳動的頻譜,背後是離散傅裏葉變換算法;DOS時代著名的PCX圖像文件格式使用的RLE壓縮算法是如此簡單,但是卻非常有效;RSA加密算法的光環之下是樸實的歐幾裏得算法、濛哥馬利算法和米勒?拉賓算法;華容道遊戲求解的簡單窮舉算法中還蘊藏著對棋盤狀態的哈希算法……遺傳算法神秘不可測,但是用遺傳算法求解0-1背包問題隻用瞭60多行代碼。事實上,拋開對遺傳算法的深層次研究和在各種專業領域內的擴展應用,單就算法原理來說,它就是這麼簡單。深藍戰勝卡斯特羅之後,人類棋手在與計算機的博弈中就完全處於下風,人工智能真的這麼神奇?人工智能確實是個神奇的領域,但就計算機下棋這件事來說,卻並不怎麼神奇,算法的基本原理簡單得讓人難以置信,看看第23章你就知道瞭。
  算法之大,大到可以囊括宇宙萬物的運行規律,算法之小,小到寥寥數行代碼即可展現一個神奇的功能。算法是瑣碎的,以至於常常被人們忽視,然而忽視算法能力的培養所帶來的代價是巨大的,第1章介紹的環形隊列的例子就是一個最好的說明。我麵試過很多求職者,我常常會讓他們手寫一個算法,我的題目是這樣的:有一個由若乾正整數組成的數列,數列中的每個數都不超過32,已知數列中存在重復的數字,請給齣一個算法找齣這個數列中所有重復齣現的數。我期望求職者給我一個正確的算法實現,接下來我會問這個算法的時間復雜度是什麼,有沒有考慮過存在一個O(n)時間復雜度的算法。大部分求職者都知道自己的算法是O(n2)時間復雜度,但是都否認存在O(n)時間復雜度的算法。事實上這個題目是可以有O(n)時間復雜度的算法的,因為大傢都忽略瞭一個重要的條件。這個題目並不難,但是仍有將近三分之一的麵試者無法給齣正確的算法,有的甚至還給我一張白紙。有人犯錯誤是正常現象,但是讓我意外的是居然有三分之一的人寫不齣這個算法,算法設計的基本功被無視到這種地步是不正常的。
  程序員談到算法言必稱一些高大上的詞匯,但是這些專有名詞大部分人是用不到的,以至於人們常常認為算法不過如此,不會又如何?這種思想變得極端就會讓人忽視算法的基礎設計能力,這纔是最要命的。在我們維護的網絡設備上,用戶的數據關係錯綜復雜,一個對綫性錶進行二重循環都想不到的人又怎麼可能會維護這些數據?我希望程序員們提高基礎的算法能力,先從培養興趣開始或許是一個不錯的切入點。
  本書挑選的算法例子,都圍繞著“趣”字展開,都是簡單且在生活中常見的算法,可能有些是你還沒有意識到的。我上學的時候曾經做過一個MP3播放器程序,你可能覺得這主要就是利用一些音頻解碼算法吧?是的,這個是主要部分,但是一個功能完整的播放程序還用瞭很多你想不到的算法:為增加頻譜顯示和均衡器功能,使用瞭離散傅裏葉變換算法;為計算頻率功率譜,使用瞭加權平均值算法;為瞭匹配硬件輸齣設備與解碼算法的性能差異,需要一個有多個緩衝區的隊列管理音頻數據塊,這就引入瞭滑動窗口算法;為提供按照專輯名稱或作者名稱排序功能,使用瞭快速排序算法;為瞭平滑均衡器調節對音頻的影響,使用瞭三次樣條麯綫插值算法;為瞭在兩首歌麯之間切換時壓製刺耳的雜音(通過填充一些舒適噪聲的方式實現),還使用瞭正弦信號發生器算法。這些你都沒有想到吧?其實還有更多的例子,比如大型項目管理軟件中的工作節點排序功能和關鍵路徑功能,背後支撐它們的卻是簡單的有嚮圖拓撲排序算法。這是不是很有趣?生活中處處都是算法,程序員又怎麼可能與算法絕緣?
  再次重申一點,本書沒有任何關於算法重要性的說教,當你看到本書時,我希望你的錶情是“啊哈,原來如此!”,或者是“嗯,有意思!”,並從中獲得樂趣。本書幾乎所有章節都有相關算法實現和功能演示的代碼,讀者可以到我的博客中下載,也可以到圖靈社區本書主頁下載使用。


用戶評價

評分

剛拿到 還沒開始看 不過會加油的(? •?_•?)?

評分

還不錯的書,內容通俗易懂,入門用

評分

雖然還沒有細看,但我認為這絕對是我閱讀過的最好的算法書。全書隻介紹瞭排序,查找,圖,字符串等基本算法,但是非常細緻,且有邏輯性,最贊的是每個算法都有圖例解釋,很形象。我建議初學者先吃透這本書再去看算法導論,這樣學習起來更順暢

評分

挺好,內容通俗易懂,算法入門可以看看

評分

算法聖經,用java語言描的

評分

在圖書節買的書,看一看書,學一下,保持自己不掉隊

評分

價格有點高 活動的時候搞一下

評分

算法聖經,用java語言描的

評分

東西挺好的,看完能有不少的收獲!!

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有