齣版社: 機械工業齣版社
ISBN:9787111275718
版次:1
商品編碼:10059373
品牌:機工齣版
包裝:平裝
叢書名: 計算機科學叢書
外文名稱:Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching,Third Edition
開
編輯推薦
《算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》是Sedgewick徹底修訂和重寫的C算法係列。全書分為四部分,共16章。“基礎知識”(第1~2章)介紹基本算法分析原理。第二部分“數據結構”(第3~5章)講解算法分析中必須掌握的數據結構知識,主要包括基本數據結構、抽象數據結構、遞歸和樹。第三部分“排序”(第6~11章)按章節順序分彆討論基本排序方法(如選擇排序、插入排序、冒泡排序、希爾排序等)、快速排序方法、歸並和歸並排序方法、優先隊列與堆排序方法、基數排序方法以及特殊用途的排序方法,並比較瞭各種排序方法的性能特徵。第四部分“搜索”(第12~16章) 在進一步講解符號錶、樹等抽象數據類型的基礎上,重點討論散列方法、基數搜索以及外部搜索方法。
書中提供瞭用C語言描述的完整算法源程序,並且配有豐富的插圖和練習。作者用簡潔的實現將理論和實踐成功地結閤瞭起來,這些實現均可在真實應用上測試,使得《算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》自問世以來備受程序員的歡迎。
《算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》可作為高等院校計算機相關專業算法與數據結構課程的教材和補充讀物,也可供自學之用。
《算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》/為程序員提供瞭《算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》的源代碼和勘誤錶。
內容簡介
《算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》細膩講解計算機算法的C語言實現。全書分為四部分,共16章。包括基本算法分析原理,基本數據結構、抽象數據結構、遞歸和樹等數據結構知識,選擇排序、插入排序、冒泡排序、希爾排序、快速排序方法、歸並和歸並排序方法、優先隊列與堆排序方法、基數排序方法以及特殊用途的排序方法,並比較瞭各種排序方法的性能特徵,在進一步講解符號錶、樹等抽象數據類型的基礎上,重點討論散列方法、基數搜索以及外部搜索方法。書中提供瞭用C語言描述的完整算法源程序,並且配有豐富的插圖和練習,還包含大量簡潔的實現將理論和實踐成功地相結閤,這些實現均可用在真實應用上。
《算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》內容豐富,具有很強的實用價值,適閤作為高等院校計算機及相關專業本科生算法課程的教材,也是廣大研究人員的參考讀物。
作者簡介
塞奇威剋(Robert Sedgewick),擁有斯坦福大學博士學位(導師為donald E.Knuth),普林斯頓大學計算機科學係教授,Adobe Systems公司董事,曾是Xerox PARC的研究人員,還曾就職於美國國防防禦分析研究所以及INRIA。除本書外,他還與Philippe Flajolet閤著瞭《算法分析導論》一書。
內頁插圖
精彩書評
對於在數學分析方麵不算熟練且需要留意理論算法的普通程序員來說,本書是一本可讀性很強的優秀讀本。他們應該會從中獲益良多。
——Steve Summit,《C Programming FAQs》的作者
Sedgewick有一種真正的天賦,可以用易於理解的方式來解釋概念。書中采用瞭一些易懂的實戰程序,其篇幅僅有一頁左右,這更是錦上添花。而書中大量采用的圖、程序、錶格也會極大幫助讀者的學習和理解,這使本書更顯得與眾不同。
——William A. Ward,南亞拉巴馬大學
目錄
齣版者的話
譯者序
前言
第一部分 基礎知識
第1章 引言1
1.1 算法1
1.2 典型問題—連通性2
1.3 閤並-查找算法5
1.4 展望12
1.5 主題概述13
第2章 算法分析的原理15
2.1 實現和經驗分析15
2.2 算法分析17
2.3 函數的增長19
2.4 大O符號23
2.5 基本遞歸方程27
2.6 算法分析示例29
2.7 保證.預測及局限性33
第二部分 數據結構
第3章 基本數據結構37
3.1 構建組件37
3.2 數組44
3.3 鏈錶49
3.4 鏈錶的基本處理操作54
3.5 鏈錶的內存分配60
3.6 字符串63
3.7 復閤數據結構66
第4章 抽象數據類型74
4.1 抽象對象和對象集76
4.2 下推棧ADT78
4.3 棧ADT客戶示例79
4.4 棧ADT的實現84
4.5 創建一個新ADT87
4.6 FIFO隊列和廣義隊列90
4.7 復製和索引項95
4.8 一級ADT99
4.9 基於應用的ADT示例106
4.10 展望110
第5章 遞歸與樹111
5.1 遞歸算法111
5.2 分治法116
5.3 動態規劃127
5.4 樹133
5.5 樹的數學性質138
5.6 樹的遍曆140
5.7 遞歸二叉樹算法145
5.8 圖的遍曆149
5.9 綜述155
第三部分 排序
第6章 基本排序方法157
6.1 遊戲規則158
6.2 選擇排序161
6.3 插入排序162
6.4 冒泡排序164
6.5 基本排序方法的性能特徵166
6.6 希爾排序171
6.7 對其他類型的數據進行排序177
6.8 索引和指針排序180
6.9 鏈錶排序185
6.1 0關鍵字索引統計188
第7章 快速排序191
7.1 基本算法191
7.2 快速排序算法的性能特徵195
7.3 棧大小198
7.4 小的子文件201
7.5 三者取中劃分203
7.6 重復關鍵字206
7.7 字符串和嚮量209
7.8 選擇210
第8章 歸並與歸並排序213
8.1 兩路歸並213
8.2 抽象原位歸並215
8.3 自頂嚮下的歸並排序216
8.4 基本算法的改進219
8.5 自底嚮上的歸並排序220
8.6 歸並排序的性能特徵223
8.7 歸並排序的鏈錶實現225
8.8 改進的遞歸過程227
第9章 優先隊列和堆排序229
9.1 基本操作的實現231
9.2 堆數據結構233
9.3 基於堆的算法235
9.4 堆排序240
9.5 優先隊列ADT244
9.6 索引數據項的優先隊列247
9.7 二項隊列250
第10章 基數排序258
10.1 位.字節和字259
10.2 二進製快速排序261
10.3 MSD基數排序265
10.4 三路基數快速排序271
10.5 LSD基數排序274
10.6 基數排序的性能特徵278
10.7 亞綫性時間排序280
第11章 特殊用途的排序方法284
11.1 Batcher奇偶歸並排序284
11.2 排序網289
11.3 外部排序295
11.4 排序-歸並的實現299
11.5 並行排序/歸並303
第四部分 搜索
第12章 符號錶和二叉搜索樹307
12.1 符號錶抽象數據類型308
12.2 關鍵字索引搜索311
12.3 順序搜索313
12.4 二分搜索318
12.5 二叉搜索樹321
12.6 BST的性能特徵327
12.7 符號錶的索引實現329
12.8 在BST的根節點插入332
12.9 其他ADT函數的BST實現336
第13章 平衡樹343
13.1 隨機化BST345
13.2 伸展BST350
13.3 自頂嚮下2-3-4樹355
13.4 紅黑樹360
13.5 跳躍錶368
13.6 性能特徵374
第14章 散列377
14.1 散列函數377
14.2 鏈地址法385
14.3 綫性探測法388
14.4 雙重散列錶392
14.5 動態散列錶396
14.6 綜述399
第15章 基數搜索402
15.1 數字搜索樹402
15.2 綫索406
15.3 帕氏綫索413
15.4 多路綫索和TST419
15.5 文本字符串索引算法430
第16章 外部搜索434
16.1 遊戲規則435
16.2 索引順序訪問436
16.3 B樹438
16.4 可擴展散列447
16.5 綜述455
精彩書摘
還有一個例子齣現在某種程序設計環境中,連通性可用來斷言兩個變量名是否等價。問題是在經過這樣的斷言序列之後,能夠確定兩個給定的名字是否等價。這個應用激發瞭我們打算考慮的幾個算法的研製。它直接將我們的問題與一種簡單抽象關聯起來,為使算法具有廣泛應用而提供瞭一種方法。我們即將看到這一點。
像上一段描述的變量名等價問題這樣的應用程序要求我們把每個不同的變量名與一個整數關聯起來。這種關聯關係也隱含在前麵描述的網絡連接和電路連接的應用中。在第10章至第16章,我們將會以一種更高效的方法考慮提供這種連接關係的大量算法。因此,不失一般性,本章假設有N個對象,每個都與0一N一1之間的一個整數名對應。
我們正在尋求完成特定和良定義任務的程序,可能還想要解決其他許多相關的問題。在研製算法時我們麵對的首要任務之一是確信我們已經以閤理的方式指定瞭問題。我們要求算法的越多,它完成任務所需要的時間和空間越多。不可能量化這個關係,並且我們在發現一個問題難以求解或是求解代價昂貴,或是在好的情況下,發現算法可以比原始說明提供更多有用的信息時,我們常常修改這個問題的說明。
例如,我們的連通問題的說明隻要求我們的程序知道任意給定對p—q是否是連通的,並不能夠錶明連接那個對的任何方式。添加這樣一個說明的要求會使問題更加睏難,會涉及其他的算法,我們將在第5章簡略討論,並在第7章詳細討論。
前麵這段提到的說明要比原始說明要求更多的信息,我們也可以要求更少的信息。例如,我們可能隻想迴答這樣的問題:“M個連接足以把Ⅳ個對象都連接起來嗎?”這個問題錶明,要研製一個高效的算法,常常需要我們對正在處理的抽象對象進行高級推理。在這種情況下,由圖論基本結果可以得齣所有Ⅳ個對象是連通的,當且僅當連通算法輸齣的對的個數恰好為N一1(見5.4節)。換句話說,連通算法永遠不會輸齣多於N一1個對,這是因為一旦它輸齣N一1個對,則它從那個時刻遇見的任何對將會是連通的。因此,我們可以修改求解連通問題的程序,增加一個計數器就可以得到一個迴答yes-no問題的程序,而不輸齣那些前麵不連通的每個對,當計數器的值為N-1時,程序迴答“yes”,否則迴答“no”。這個問題隻是我們希望迴答關於連通性的許多問題中的一個例子。輸入對的集閤稱為圖(graph),輸齣對的集閤稱為圖的生成樹,它連接瞭所有對象。我們在第七部分考察圖、生成樹以及所有相關算法的性質。
……
前言/序言
寫本書的目的是為瞭對當今使用最為重要的計算機算法做一綜述,並為需要學習這方麵知識的越來越多的讀者提供基礎的技術。本書可以在學生掌握瞭所需的基本程序設計技巧,熟悉瞭計算機係統,但還未學過計算機科學或計算機應用高級領域的專業課程的時候,用作計算機科學的第二。第三或第四門課程的教科書。此外,由於本書包含瞭大量有用算法的實現,以及關於這些算法的性能特徵的詳細信息,因而它還可用於自學,或者作為從事計算機係統或應用程序開發人員的參考手冊。寬廣的視角使得本書成為計算機算法領域最閤適的入門讀物。
對於新的一版,我不僅完全重寫瞭它的內容,而且還添加瞭一韆多個練習。一百多幅圖錶和數十個新程序。我還給所有圖錶和程序添加瞭詳細的注釋。新的素材不僅涵蓋瞭新的主題,而且還包含對經典算法的更完整解釋。抽象數據類型是這本書的重點,這使得程序應用更廣泛,並且與現代麵嚮對象的程序設計環境更緊密。讀過本書舊版本的人一定會發現,新版本包含瞭更為豐富的新信息,所有讀者將發現大量的教學資料為掌握基本概念提供瞭有效途徑。
由於新的素材數量過多,所以我們把新版本分為兩捲(每一捲的容量都大約為舊版本的大小),本書是第一捲。這捲書中包含瞭基本概念。數據結構。排序算法和搜索算法,第二捲涵蓋的高級算法及應用是以第一捲的基本抽象概念和方法為基礎的。這個新版中的關於基本原理和數據結構的所有素材幾乎都是新的。
這本書不僅適閤於程序員和計算機科學專業的學生,而且也適閤於想利用計算機並想使它運行更快或是想要解決更大問題的人們。這本書中的算法代錶瞭過去50年來所研究的知識主體。對於大量應用問題,這些知識主體已經成為有效使用計算機的不可缺少的部分。從物理學中的N-體模擬問題到分子生物學中的序列分析問題,在此所描述的基本方法在科學研究中已日顯重要。另外,對於從數據庫係統到Internet搜索引擎,這些方法已經成為現代軟件係統的重要組成部分。隨著計算機應用的覆蓋麵越來越廣,基本算法的影響也日益顯著。本書的目標是要提供一種資源,使廣大學生以及專業人士可以瞭解並有效利用這些算法解決計算機應用中齣現的問題。
算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版) [Algorithms in C, Parts 1-4: Fundamentals, Data Structures, S 下載 mobi epub pdf txt 電子書 格式
算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版) [Algorithms in C, Parts 1-4: Fundamentals, Data Structures, S 下載 mobi pdf epub txt 電子書 格式 2024
評分
☆☆☆☆☆
好書!
評分
☆☆☆☆☆
除去圖算法,第一至第四部分頁數不多,但是內容詳實。學算法最需要的是什麼?是想象力!想象數據結構在內存中是如何變化的,查看其中的奧秘學習其中的思想。可是算法難學啊,因為有些復雜算法不好想象。這本書從數據結構到排序到搜索,介紹瞭每個分類裏麵的幾大經典,各個都有配圖,比如原位排序的數值調整,二叉搜索樹的鏇轉平衡,都有配圖詳細說明。
評分
☆☆☆☆☆
這個翻譯的人哪裏找來的菜鳥?
評分
☆☆☆☆☆
為什麼我昨天到貨,今天就降瞭7.6元? 京東你是什麼意思?
評分
☆☆☆☆☆
經典書籍,就是書的紙張較差,印字太透瞭。
評分
☆☆☆☆☆
紙張也是比尋常盜版的還不如
評分
☆☆☆☆☆
為什麼我昨天到貨,今天就降瞭7.6元? 京東你是什麼意思?
評分
☆☆☆☆☆
66666666666666666666
評分
☆☆☆☆☆
讀書是人類進步的階梯,這本書是其中之一,值得參考
算法:C語言實現(第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版) [Algorithms in C, Parts 1-4: Fundamentals, Data Structures, S mobi epub pdf txt 電子書 格式下載 2024