注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)算法學(xué)習(xí)指南

算法學(xué)習(xí)指南

算法學(xué)習(xí)指南

定 價(jià):¥79.80

作 者: [美] 喬治·海涅曼 著,徐波 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115592446 出版時(shí)間: 2022-10-01 包裝: 平裝
開本: 16開 頁數(shù): 230 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  在編寫代碼時(shí),每位軟件專業(yè)人士都需要對(duì)算法有充分的理解。在這本實(shí)用性極強(qiáng)的著作中,作者對(duì)一些關(guān)鍵的算法進(jìn)行了詳實(shí)的描述,可以有效地提高用各種語言編寫代碼的質(zhì)量。軟件開發(fā)人員、測(cè)試人員和維護(hù)人員可以在本書中學(xué)會(huì)如何使用算法,以創(chuàng)造性的方式解決計(jì)算性問題。本書各章內(nèi)容前后銜接緊密,環(huán)環(huán)相扣,用醒目的圖表有條不紊地展示了一些核心概念,并對(duì)書中介紹的每種算法的性能進(jìn)行了分析。在每一章的最后,讀者需要應(yīng)用在該章所學(xué)習(xí)的知識(shí),解決一個(gè)新穎的具有挑戰(zhàn)性的問題,就像在參加技術(shù)面試。在本書中,讀者將會(huì):學(xué)習(xí)計(jì)算機(jī)科學(xué)和軟件工程中非常重要且基本的算法;學(xué)習(xí)高效解決問題的常用策略,包括分治法、動(dòng)態(tài)規(guī)劃等;使用大O表示法對(duì)代碼進(jìn)行分析,評(píng)估它的時(shí)間復(fù)雜度;在算法中使用現(xiàn)有的Python程序庫和數(shù)據(jù)結(jié)構(gòu)解決問題;理解重要算法的主要步驟。

作者簡(jiǎn)介

  喬治.海涅曼(George T. Heineman)是一位計(jì)算機(jī)科學(xué)教授,在軟件工程和算法領(lǐng)域有超過20 年的教學(xué)經(jīng)驗(yàn)。他是《算法技術(shù)手冊(cè)》(第2版)的作者,也是很多O’Reily視頻培訓(xùn)課程的講師,其中包括“Exploring Algorithms in Python”和“Working with Algorithms in Python”。他終身愛好邏輯題和數(shù)學(xué)智力題,他是Sujiken智力游戲(數(shù)獨(dú)的一種變型)和Trexagon 智力游戲的發(fā)明者。

圖書目錄

序 1
前言 3
第 1 章 解決問題 9
1.1 什么是算法? 9
1.2 在一個(gè)任意的列表中查找最大值 12
1.3 對(duì)關(guān)鍵操作進(jìn)行計(jì)數(shù) 14
1.4 可以預(yù)測(cè)算法性能的模型 14
1.5 在一個(gè)隨機(jī)列表中查找兩個(gè)最大值 19
1.6 錦標(biāo)賽算法 22
1.7 時(shí)間復(fù)雜度和空間復(fù)雜度 28
1.8 總結(jié) 29
1.9 挑戰(zhàn)練習(xí) 30
第 2 章 分析算法 33
2.1 使用實(shí)驗(yàn)?zāi)P皖A(yù)測(cè)性能 34
2.2 乘法可以更快 36
2.3 性能分類 38
2.4 漸進(jìn)性分析 39
2.5 對(duì)所有操作進(jìn)行計(jì)數(shù) 42
2.6 對(duì)所有字節(jié)進(jìn)行計(jì)數(shù) 43
2.7 關(guān)上一扇門,打開另一扇門 44
2.8 二分?jǐn)?shù)組搜索 45
2.9 幾乎和π 一樣簡(jiǎn)單 46
2.10 一石二鳥 48
2.11 綜述 52
2.12 曲線擬合與上下界的比較 53
2.13 總結(jié) 54
2.14 挑戰(zhàn)練習(xí) 55
第3 章 更好的散列,更適意的人生 58
3.1 值與鍵相關(guān)聯(lián) 58
3.2 散列函數(shù)和散列碼 63
3.3 (key,value)對(duì)的可散列結(jié)構(gòu) 64
3.4 使用線性探查法檢測(cè)和解決沖突 65
3.5 用鏈表實(shí)現(xiàn)分離鏈表 70
3.6 從鏈表中刪除一個(gè)數(shù)據(jù)項(xiàng) 73
3.7 評(píng)估 75
3.8 增長的散列表 78
3.9 分析動(dòng)態(tài)散列表的性能 83
3.10 完美散列 84
3.11 對(duì)(key,value)對(duì)進(jìn)行迭代 87
3.12 總結(jié) 88
3.13 挑戰(zhàn)練習(xí) 89
第4 章 堆起來! 93
4.1 最大二叉堆 99
4.2 插入(value,priority)對(duì) 101
4.3 刪除具有最高優(yōu)先級(jí)的值 104
4.4 用數(shù)組表示二叉堆 106
4.5 實(shí)現(xiàn)上浮和下沉 107
4.6 總結(jié) 111
4.7 挑戰(zhàn)練習(xí) 112
第5 章 深入淺出論排序! 115
5.1 交換排序 116
5.2 選擇排序 117
5.3 平方時(shí)間級(jí)排序算法的剖析 119
5.4 分析插入排序和選擇排序的性能 121
5.5 遞歸和分治法 122
5.6 歸并排序 127
5.7 快速排序 131
5.8 堆排序 134
5.9 O(NlogN)等級(jí)算法的性能比較 136
5.10 Tim 排序 137
5.11 總結(jié) 140
5.12 挑戰(zhàn)練習(xí) 140
第6 章 二叉樹:掌上世界的無限可能 142
6.1 基礎(chǔ)知識(shí) 142
6.2 二叉查找樹 147
6.3 在二叉查找樹中搜索值 152
6.4 從二叉查找樹刪除值 153
6.5 遍歷二叉查找樹 157
6.6 分析二叉查找樹的性能 159
6.7 平衡二叉樹 161
6.8 分析平衡二叉樹的性能 168
6.9 使用二叉樹作為(key,value)符號(hào)表 168
6.10 使用二叉樹作為優(yōu)先隊(duì)列 169
6.11 總結(jié) 172
6.12 挑戰(zhàn)練習(xí) 173
第7 章 圖:連得上的才是好的! 176
7.1 圖高效地存儲(chǔ)了實(shí)用的信息 176
7.2 使用深度優(yōu)先搜索解決迷宮問題 181
7.3 廣度優(yōu)先搜索提供了一種不同的搜索算法 186
7.4 有向圖 193
7.5 具有邊權(quán)重的圖 200
7.6 迪杰斯特拉算法 202
7.7 全頂點(diǎn)對(duì)的最短路徑 212
7.8 弗洛伊德-沃歇爾算法 215
7.9 總結(jié) 219
7.10 挑戰(zhàn)練習(xí) 220
第8 章 綜述 . 223
8.1 Python 的內(nèi)置數(shù)據(jù)類型 225
8.2 在Python 中實(shí)現(xiàn)堆棧 227
8.3 在Python 中實(shí)現(xiàn)隊(duì)列 228
8.4 堆和優(yōu)先隊(duì)列的實(shí)現(xiàn) 229
8.5 進(jìn)一步的探索 229

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)