TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
算法訓練營:海量圖解+競賽刷題‧入門篇(簡體書)
滿額折

算法訓練營:海量圖解+競賽刷題‧入門篇(簡體書)

人民幣定價:129.8 元
定  價:NT$ 779 元
優惠價:87678
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:20 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

本書以海量圖解的形式,詳細講解常用的數據結構與算法,又融入大量的競賽實例和解題技巧。通過對本書的學習,讀者可掌握12種初級數據結構、15種常用STL函數、10種二叉樹和圖的應用,以及8種搜索技術,並領悟不同的數據結構和算法的精髓,熟練應用各種算法解決實際問題。

本書總計9章。第1章講解C++語言基礎,包括語法、函數、遞歸和數組;第2章講解算法入門知識,包括算法復雜度計算、貪心算法、分治算法和STL應用;第3章講解線性表的應用,包括順序表、單鏈表、雙向鏈表、循環鏈表和靜態鏈表;第4章講解棧和隊列的應用,包括順序棧、鏈棧、順序隊列和鏈隊列;第5章講解樹的應用,包括樹的存儲、二叉樹遍歷與還原、哈夫曼編碼;第6章講解圖論基礎,包括圖的存儲、圖的遍歷和圖的連通性;第7章講解圖的應用,包括最短路徑、最小生成樹、拓撲排序和關鍵路徑;第8章講解查找算法,包括哈希表、字符串模式匹配、二叉查找樹和平衡二叉樹;第9章講解搜索技術,包括二分搜索、深度優先搜索、廣度優先搜索和啟發式搜索。

本書面向對算法感興趣的讀者,無論是想扎實內功或參加算法競賽的學生,還是想進入名企的學生、求職者,抑或是想提升技術的在職人員,都可以參考本書。若讀者想學習數據結構與算法方面的進階知識,則可參考《算法訓練營:海量圖解+競賽刷題(進階篇)》。


作者簡介

陳小玉

高級程序員,主要研究方向為算法優化和機器學習。出版著作有《趣學算法》《趣學數據結構》《算法訓練營:海量圖解+競賽刷題(入門篇)》《算法訓練營:海量圖解+競賽刷題(進階篇)》,所教學生多次獲得ACM、藍橋杯等算法競賽獎項。


名人/編輯推薦

沒有編程經驗的小白也能看懂的算法入門書

培養算法思維、感受算法之美

海量圖解、通俗易懂、實例豐富、圖文並茂

全面、系統地搭建數據結構與算法知識體系

以模塊化方式逐一拆解算法問題

通過300道競賽試題展示算法設計與實現的詳細過程


目前,信息技術已被廣泛應用於互聯網、金融、航空、軍事、醫療等各個領域,在未來的應用將更加廣泛和深入。現在,很多中小學都已開設計算機語言課程,並且越來越多的中小學生對編程、算法感興趣,甚至在NOIP、NOI等算法競賽中大顯身手。大學生通常參加ACM-ICPC、CCPC等算法競賽,其獲獎者更是被各大名企所青睞。

學習數據結構與算法,不僅可以使我們具備較強的思維能力及解決問題的能力,還可以使我們快速學習各種新技術,擁有超強的學習能力。

寫作背景

很多讀者都覺得數據結構與算法太難,市面上晦澀難懂的各種教材更是“嚇退”了一大批讀者。實際上,數據結構與算法並沒有我們想象中那麼難,反而相當有趣。每當有學生說看不懂某個算法的時候,筆者就會讓其畫圖。筆者認為,畫圖是學習數據結構與算法最好的方法,它可以把抽象難懂的數據結構、算法展現得生動形象、簡單易懂。在出版《趣學數據結構》《趣學算法》兩本書之後,很多讀者建議筆者寫一本算法競賽的書,延續前兩本書的圖解風格,再加上競賽刷題的內容。經過近兩年的籌備,《算法訓練營:海量圖解+競賽刷題(入門篇)》和《算法訓練營:海量圖解+競賽刷題(進階篇)》兩本書終於和大家見面了!這兩本書以海量圖解的形式,結合大量競賽實例進行講解。全書圖文並茂,可幫助讀者全面、系統地搭建數據結構與算法知識體系,以模塊化方式逐一拆解算法問題。以通俗易懂的方式講解算法,讓更多的讀者愛上算法,這也是筆者寫作這兩本書的初衷。

本書詳細講解常用的數據結構和算法,還增加了語言基礎和STL函數的內容。如果讀者已經熟悉C++,則可跳過這些基礎章節。本書不是知識點的堆砌,也不是粘貼代碼的簡單題解,而是將知識點講解和對應的競賽刷題融會貫通,可使讀者在輕松閱讀的同時進行實戰,在實戰中體會算法的妙處,感受算法之美。

本書特色

本書具有以下特色。

(1)完美圖解,通俗易懂。本書對每個算法的基本操作都有圖解演示。通過圖解,許多問題都變得簡單,可迎刃而解。

(2)實例豐富,簡單有趣。本書結合大量競賽實例,講解如何利用數據結構與算法解決實際問題,使復雜難懂的問題變得簡單有趣,幫助讀者輕松掌握算法知識,體會其中的妙處。

(3)深入淺出,透析本質。本書透過問題看本質,重點講解如何分析和解決問題。本書采用了簡潔易懂的代碼,對數據結構設計和算法的描述全面細致,而且有算法復雜性分析及優化過程。

(4)實戰演練,循序漸進。本書在對每個數據結構與算法講解清楚後,都進行了實戰演練,使讀者在實戰中體會數據結構與算法的設計和操作,從而提高了獨立思考、動手實踐的能力。書中有豐富的練習題和競賽題,可幫助讀者及時檢驗對知識的掌握情況,為從小問題出發、逐步解決大型復雜性工程問題奠定基礎。

(5)網絡資源,技術支持。本書為讀者提供書中所有範例程序的源代碼、競賽題及答案解析,讀者可以對這些源代碼自由修改編譯,以符合自己的需要。本書提供博客、微信群、QQ群技術支持,可隨時為讀者答疑解惑。

建議和反饋

寫書是極其瑣碎、繁重的工作,盡管筆者已經竭力使本書和網絡支持接近完美,但仍然可能存在很多漏洞和瑕疵。歡迎讀者提供關於本書的反饋意見,因為對本書的評論和建議有利於我們改進和提高,以幫助更多的讀者。如果對本書有什麼評論和建議,或者有問題需要幫助,可以加入QQ群,也可以致信與筆者交流,筆者將不勝感激。

讀者資源請參照本書封底提示。

致謝

感謝筆者的家人和朋友在本書寫作過程中提供的大力支持。感謝電子工業出版社工作嚴謹、高效的張國霞編輯,她的認真負責促成本書的早日出版。感謝提供寶貴意見的同事們,感謝提供技術支持的同學們。感恩遇到這麼多良師益友!


目次

第1章 語言基礎... 1

1.1 開啟算法之旅:hello world! 1

1.2 常見數據類型及其表達範圍... 2

1.3 玩轉輸入輸出... 2

1.4 人生就是不斷地選擇:if…else. 9

1.5 每天都有很多次重復:for/while. 13

1.6 如何輕松寫一個函數... 20

1.7 從前有座山,山裡有座廟:遞歸之法... 25

1.8 信息攜帶者:定義一個結構體... 29

1.9 巧用數組——好玩貪吃蛇... 31

1.10 玩轉字符串——不一樣的風格... 37

第2章 算法入門... 42

2.1 算法之美... 42

2.1.1 如何評價一個算法的優劣... 42

2.1.2 算法復雜度的計算方法... 45

2.2 貪心算法... 48

2.2.1 貪心本質... 48

2.2.2 最優裝載問題... 49

2.3 分治算法... 51

2.3.1 分治算法秘籍... 51

2.3.2 合並排序... 51

2.3.3 快速排序... 57

2.4 STL應用... 65

2.4.1 vector 65

訓練 間諜... 67

2.4.2 棧... 68

訓練 Web導航... 69

2.4.3 queue. 75

訓練 騎士移動... 75

2.4.4 list 77

訓練 士兵隊列訓練... 78

2.4.5 deque. 79

訓練 度度熊學隊列... 80

2.4.6 priority_queue. 82

訓練 黑盒子... 83

2.4.7 bitset 85

訓練 集合運算... 88

2.4.8 set/multiset 90

訓練1 集合合並... 91

訓練2 並行處理... 92

2.4.9 map/multimap. 94

訓練1 硬木種類... 96

訓練2 雙重隊列... 97

訓練3 水果... 99

2.4.10 STL的常用函數... 100

訓練1 差的中位數... 106

訓練2 中位數... 108

訓練3 訂單管理... 109

訓練4 字謎... 110

第3章 線性表的應用... 112

3.1 順序表... 112

3.2 單鏈表... 116

3.3 雙向鏈表... 119

3.4 循環鏈表... 122

3.5 靜態鏈表... 123

訓練1 區塊世界... 126

訓練2 悲劇文本... 132

訓練3 移動盒子... 133

第4章 棧和隊列的應用... 140

4.1 順序棧... 140

4.2 鏈棧... 143

4.3 順序隊列... 146

4.4 鏈隊列... 155

訓練1 括號匹配... 158

訓練2 鐵軌... 160

訓練3 矩陣連乘... 164

訓練4 打印隊列... 168

訓練5 並發模擬器... 171

第5章 樹的應用... 187

5.1 樹... 187

5.1.1 樹的存儲... 190

5.1.2 樹、森林與二叉樹的轉換... 193

5.2 二叉樹... 194

5.2.1 二叉樹的性質... 195

5.2.2 二叉樹的存儲結構... 200

5.2.3 二叉樹的創建... 202

5.3 二叉樹遍歷... 210

5.3.1 先序遍歷... 210

5.3.2 中序遍歷... 214

5.3.3 後序遍歷... 217

5.3.4 層次遍歷... 221

5.3.5 遍歷序列還原樹... 224

訓練1 新二叉樹... 228

訓練2 還原樹... 229

訓練3 樹... 230

5.4 哈夫曼樹... 232

原理 哈夫曼編碼... 232

訓練1 圍欄修復... 245

訓練2 信息熵... 246

訓練3 轉換哈夫曼編碼... 248

訓練4 可變基哈夫曼編碼... 251

第6章 圖論基礎... 256

6.1 圖的存儲... 257

6.1.1 鄰接矩陣... 257

6.1.2 邊集數組... 263

6.1.3 鄰接表... 263

6.1.4 鏈式前向星... 271

訓練1 最大的節點... 274

訓練2 有向圖D和E. 276

訓練3 奶牛排序... 278

6.2 圖的遍歷... 279

6.2.1 廣度優先遍歷... 279

6.2.2 深度優先遍歷... 283

訓練1 油田... 287

訓練2 理想路徑... 290

訓練3 騎士的旅程... 293

訓練4 抓住那頭牛... 295

6.3 圖的連通性... 298

6.3.1 連通性的相關知識... 298

6.3.2 Tarjan算法... 302

訓練1 電話網絡... 306

訓練2 道路建設... 308

訓練3 圖的底部... 311

訓練4 校園網絡... 313

第7章 圖的應用... 316

7.1 最短路徑... 316

7.1.1 Dijkstra算法... 316

7.1.2 Floyd算法... 322

7.1.3 Bellman-Ford算法... 326

7.1.4 SPFA算法... 328

訓練1 重型運輸... 329

訓練2 貨幣兌換... 331

訓練3 蟲洞... 332

訓練4 最短路徑... 335

7.2 最小生成樹... 336

7.2.1 Prim算法... 337

7.2.2 Kruskal算法... 346

訓練1 叢林之路... 351

訓練2 聯網... 352

訓練3 空間站... 354

訓練4 道路建設... 356

7.3 拓撲排序... 358

原理 拓撲排序... 358

訓練1 家族樹... 362

訓練2 全排序... 364

訓練3 標簽球... 366

訓練4 秩序... 369

7.4 關鍵路徑... 371

原理 關鍵路徑... 371

訓練1 關鍵路徑... 380

訓練2 指令安排... 382

訓練3 家務瑣事... 384

訓練4 免費DIY之旅... 385

訓練5 遊戲玩家... 388

第8章 查找算法... 391

8.1 哈希表... 391

8.1.1 散列函數... 392

8.1.2 處理衝突的方法... 394

8.1.3 散列查找及性能分析... 404

訓練1 雪花... 406

訓練2 公式... 407

訓練3 正方形... 409

8.2 字符串模式匹配... 411

8.2.1 BF算法... 412

8.2.2 KMP算法... 415

訓練1 統計單詞數... 421

訓練2 KMP字符串匹配... 423

8.3 二叉查找樹... 424

原理 二叉查找樹詳解... 424

訓練1 落葉... 436

訓練2 完全二叉搜索樹... 439

訓練3 硬木種類... 441

訓練4 二叉搜索樹... 442

8.4 平衡二叉樹... 444

原理 AVL樹詳解... 445

訓練1 平衡二叉樹... 458

訓練2 雙重隊列... 461

訓練3 黑盒子... 464

訓練4 硬木種類... 465

第9章 搜索技術... 466

9.1 二分搜索... 466

原理 二分搜索技術... 466

訓練1 跳房子遊戲... 471

訓練2 烘幹衣服... 475

訓練3 花環... 477

訓練4 電纜切割... 479

9.2 深度優先搜索... 480

9.2.1 回溯法... 480

9.2.2 子集樹... 483

9.2.3 m叉樹... 491

9.2.4 排列樹... 499

訓練1 魅力手鐲... 515

訓練2 圖的m著色問題... 516

訓練3 N皇後問題... 517

9.2.5 DFS+剪枝優化... 517

訓練1 數獨遊戲... 518

訓練2 生日蛋糕... 521

訓練3 木棒... 522

9.3 廣度優先搜索... 524

9.3.1 分支限界法... 525

9.3.2 隊列式廣度優先搜索.... 525

9.3.3 優先隊列式廣度優先搜索... 535

訓練1 迷宮問題... 541

訓練2 加滿油箱... 542

9.3.4 嵌套廣度優先搜索... 545

訓練 推箱子... 545

9.3.5 雙向廣度優先搜索... 549

訓練 魔鬼Ⅱ... 549

9.4 啟發式搜索... 551

9.4.1 A*算法... 552

9.4.2 IDA*算法... 552

訓練1 八數碼... 552

訓練2 八數碼II 562

訓練3 第K短路... 565

訓練4 冪運算... 567


您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 678
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區