注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)數(shù)據(jù)結(jié)構(gòu)與算法分析(C語言描述)

數(shù)據(jù)結(jié)構(gòu)與算法分析(C語言描述)

數(shù)據(jù)結(jié)構(gòu)與算法分析(C語言描述)

定 價:¥45.00

作 者: (美)韋斯 著
出版社: 機械工業(yè)出版社
叢編項: 經(jīng)典原版書庫
標(biāo) 簽: VC++

ISBN: 9787111312802 出版時間: 2010-08-01 包裝: 平裝
開本: 大32開 頁數(shù): 511 字?jǐn)?shù):  

內(nèi)容簡介

  《數(shù)據(jù)結(jié)構(gòu)與算法分析:C語言描述》曾被評為20世紀(jì)頂尖的30部計算機著作之一,作者在數(shù)據(jù)結(jié)構(gòu)和算法分析方面卓有建樹,他的數(shù)據(jù)結(jié)構(gòu)和算法分析的著作尤其暢銷,并受到廣泛好評,已被世界500余所大學(xué)選作教材。在《數(shù)據(jù)結(jié)構(gòu)與算法分析:C語言描述》中,作者精煉并強化了他對算法和數(shù)據(jù)結(jié)構(gòu)方面創(chuàng)新的處理方法。通過C程序的實現(xiàn),著重闡述了抽象數(shù)據(jù)類型的概念,并對算法的效率、性能和運行時間進行了分析?!稊?shù)據(jù)結(jié)構(gòu)與算法分析:C語言描述》特色:著重討論了算法設(shè)計技巧,包括貪婪算法、分治算法、動態(tài)規(guī)劃、隨機化算法以及回溯算法。系統(tǒng)介紹了當(dāng)前流行的論題和新的數(shù)據(jù)結(jié)構(gòu),如斐波那契堆、斜堆、二項隊列、跳躍表和伸展樹。詳細(xì)討論了攤還分析,考查書中介紹的一些高級數(shù)據(jù)結(jié)構(gòu)。增加了高級數(shù)據(jù)結(jié)構(gòu)及其實現(xiàn)的內(nèi)容,包括紅黑樹、自頂向下伸展樹、treap樹、k-d樹、配對堆等。整合了堆排序平均情況分析的一些新結(jié)果。

作者簡介

  Mark Allen Weiss 1987年在普林斯頓大學(xué)獲得計算機科學(xué)博士學(xué)位。師 從Roberl Sedgewick,現(xiàn)任美國佛羅里達(dá)國際大學(xué)計算與信息科學(xué)學(xué)院教授。他曾擔(dān)任全美AP(Advanced Placement)考試計算機學(xué)科委員會主席。其主要研究方向是數(shù)據(jù)結(jié)構(gòu)、算法和教育學(xué)。

圖書目錄

Introduction 1
1.1. Whats the Book About? 1
1.2. Mathematics Review 3
1.2.1. Exponents 3
1.2.2. Logarithms 3
1.2.3. Series 4
1.2.4. Modular Arithmetic 5
1.2.5. The P Word 6
1.3. A Brief Introduction to Recursion
Summary 12
Exercises 12
References 13

2 Algorithm Analysis 15
2.1. Mathematical Background 15
2.2. Model 18
2.3. What to Analyze 18
2.4. Running Tune Calculations 20
2.4.1. A Simple Example 21
2.4.2. General Rules 21
2.4.3. Solutions for the Maximum Subsequence Sum Problem 24
2.4.4. Logarithms in the Running Tune 28
2.4.5. Checking Your Analysis 33
2.4.6. A Grain of Salt 33
Summary 34
Exercises 35
References 39

3 Lists, Stacks, and Queues 41
3.1. Abstract Data Types (AnTs) 41
3.2. The List ADT 42
3.2.1. Simple Array Implementation of Lists 43
3.2.2. Linked Lists 43
3.2.3. Programming Details 44
3.2.4. Common Errors 49
3.2.5. Doubly Linked Lists 51
3.2.6. Circularly Unked Lists 52
3.2.7. Examples 52
3.2.8. Cursor Implementation of Linked Lists 57
3.3. The Stack ADT 62
3.3.1. Stack Model 62
3.3.2. Implementation of Stacks 63
3.3.3. Applications 71
3.4. The Queue ADT 79
3.4.1. Queue Model 79
3.4.2. Array Implementation of Queues 79
3.4.3. Applications of Queues 84
Summary 85
Exercises 85

4 Trees 89
4.1. Preliminaries 89
4.1.1. Implementation of Trees 90
4.1.2. Tree Traversals with an Application 91
4.2. Binary Trees 95
4.2.1. Implementation 96
4.2.2. Expression Trees 97
4.3. The Search Tree ADT-Binary Search Trees 100
4.3.1. MakeEmpty 101
4.3.2. Find 101
4.3.3. FindMin and FindMax 103
4.3.4. Insert 104
4.3.5. Delete 105
4.3.6. Average-Case Analysis 107
4.4. AvI Trees 110
4.4.1. Single Rotation 112
4.4.2. Double Rotation 115
4.5. Splay Trees 123
4.5.1. A Simple Idea (That Does Not Work) 124
4.5.2. Splaying 126
4.6. Tree Traversals (Revisited) 132
4.7. B-Trees 133
Summary 138
Exercises 139
References 146

5 Hashing 149
5.1. General Idea 149
5.2. Hash Function 150
5.3. Separate Chaining 152
5.4. Open Addressing 157
5.4.1. Linear Probing 157
5.4.2. Quadratic Probing 160
5.4.3. Double Hashing 164
5.5. Rehashing 165
5.6. Extendible Hashing 168
Summary 171
Exercises 172
References 175

6 Priority Queues (Heaps) 177
6.1. Model 177
6.2. Simple Implementations 178
6.3. Binary Heap 179
6.3.1. Strocture Property 179
6.3.2. Heap Order Property 180
6.3.3. Basic Heap Operations 182
6.3.4. Other Heap Operations 186
6.4. Applications of Priority Queues 189
6.4.1. The Selection Problem 189
6.4.2. Event Simulation 191
6.5. d-Heaps 192
6.6. Leftist Heaps 193
6.6.1. Leftist Heap Properly 193
6.6.2. Leftist Heap Operations 194
6.7. Skew Heaps 200
6.8. Binomial Queues 202
6.8.1. Binomial Queue Structure 202
6.8.2. Binomial Queue Operations 204
6.8.3. Implementation of Binomial Queues 205
Summary 212
Exercises 212
References 216

7 Sorting 219
7.1. Preliminaries 219
7.2. Insertion Sort 220
7.2.1. The Algorithm 220
7.2.2. Analysis of Insertion Sort 221
7.3. A Lower Bound for Simple Sorting Algorithms 221
7.4. SheUsort 222
7.4.1. Worst-Case Analysis of Shellsort 224
7.5. Heapsort 226
7.5.1. Analysis of Heapsort 228
7.6. Mergesort 230
7.6.1. Analysis of Mergesort 232
7.7. Quicksort 235
7.7.1. Picking the Pivot 236
7.7.2. Partitioning Strategy 237
7.7.3. Small Arrays 240
7.7.4. Actual Quicksort Routines 240
7.7.5. Analysis of Quicksort 241
7.7.6. A Linear-Expected-Time Algorithm for Selection 245
7.8. Sorting Large Structures 247
7.9. A General Lower Bound for Sorting 247
7.9.1. Decision Trees 247
7.10. Bucket Sort 250
7.11. External Sorting 250
7.11.1. Why We Need New Algorithms 251
7.11.2. Model for External Sorting 251
……
8 The Disjoint Set ADT
9 Graph Algorithms
10 Algorithm Design Techniques
11 Amortized Analysis
12 Advanced Data Structures and Implementation

本目錄推薦

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