出版時間:2002-1 出版社:高等教育出版社 作者:Sedgewick 頁數(shù):716 字數(shù):1140000
Tag標簽:無
內(nèi)容概要
本書通過C++實現(xiàn)方案以簡潔、直接的方式對書中的算法和數(shù)據(jù)結(jié)構(gòu)進行表述,并向?qū)W生提供在實際應用中驗證這種方法的手段?! ”緯鴱V泛地論述了與排序、搜索及相關應用有關的基本數(shù)據(jù)結(jié)構(gòu)和算法。覆蓋了數(shù)組、鏈表、串、樹和其他基本數(shù)據(jù)結(jié)構(gòu),更多地強調(diào)抽象數(shù)據(jù)類型(ADT)、模塊化程序設計、面向?qū)ο蟪绦蛟O計和C++類。本書包括排序、選擇、優(yōu)先隊列ADT實現(xiàn)和符號表ADT(搜索)實現(xiàn),配有幫助學生學習計算機算法特性的1000多種新練習、100多個圖表以及大量的程序例子?! obert Sedgewick完全重定了他的著作,對它進行了充分的擴展和更新,涵蓋了目前重要的算法和數(shù)據(jù)結(jié)構(gòu)。Christopher Van Wyk和Sedgewick開發(fā)的新實現(xiàn)采用的是C++語言,這種實現(xiàn)不僅能簡潔直接地表達算法,而且給編程者提供了實踐的方法,以便在真正的應用中測試這些算法?! ⌒碌陌姹咎峁┝撕芏嘈滤惴?,而且對每個算法的解釋也比以前的版本詳細得多。新的版面設計以及詳細、富有創(chuàng)意并且具有注釋的插圖,使本書的表達能力大大地提高了。第三版保留了將理論和實踐成功混合在一起的特點,正是這一點,使Sedgewick的著作成為25萬多名程序員無價的參考資源?! ”緯侨淼那鞍氩糠郑w了基本的數(shù)據(jù)結(jié)構(gòu)、排序算法、搜索算法以及它們的相關應用。雖然本書實質(zhì)上可以用于各種語言的程序設計,Christopher Van Wyk和Sedgewick的實現(xiàn)都采用了C++類和ADT實現(xiàn)的自然對應。 本書的精彩內(nèi)容包括: ·擴展了對數(shù)組、鏈表、字符串樹及其他基本數(shù)據(jù)結(jié)構(gòu)的介紹。 ·比以前的版本更中著重于抽象數(shù)據(jù)類型(ADT)、模塊化程序設計方法、面向?qū)ο蟮某绦?設計方法和C++類。 ·有關排序、選擇、優(yōu)先級隊列ADT實現(xiàn)和符號表ADT(搜索)實現(xiàn)的算法,超過100個。 ·關于二項式隊列、多路基數(shù)排序、隨機化BST、發(fā)散樹、跳躍表、多叉線索、B樹、可擴充散列等,采用了新的實現(xiàn)。 ·關于算法的量化分析,是比較算法的依據(jù)。 ·1000多條新的練習,幫助讀者學習算法?! o論是你初學算法,還是想找一本將最新C++經(jīng)典算法和新算法融入程序設計的參考手冊,你都會發(fā)現(xiàn)本書提供了豐富的有用信息。
作者簡介
作者Robert Sedgewick是美國普林斯頓大學計算機科學系教授,也是Adobe系統(tǒng)領導者之一,曾任Xerox PARC公司、國防分析學院、INRIA公司研究組成員。
書籍目錄
FundamentalsChapter 1.Introduction 1.1 Algorithms 1.2 A Sample Problem-Connectivity 1.3 Union-Find Algorithms 1.4 Perspective 1.5 Summary of Topics Chapter 2.Principles of Algorithm Analysis 2.1 Implementation and Empirical Analysis 2.2 Analysis of Algorithms 2.3 Growth of Functions 2.4 Big-Oh Notation 2.5 Basic Recurrences 2.6 Examples of Algorithm Analysis 2.7 Guarantees, Predictions, and Limitations Data StructuresChapter 3.Elementary Data Structures 3.1 Building Blocks 3.2 Arrays' S33.3 Linked Lists 3.4 Elementary List Processing 3.5 Memory Allocation for Lists3.6 Strings 3.7 Compound Data Structures Chapter 4.Abstract Data Types 4.1 Abstract Objects and Collections of Objects 4.2 Pushdown Stack ADT4.3 Examples of Stack ADT Clients 4.4 Stack ADT Implementations 4.S Creation of a New ADT 4.6 FIFO Queues and Generalized Queues4.7 Duplicate and Index Items 4.8 First-Class ADTs 4.9 Application-Based ADT Example4.10 PerspectiveChapter 5.Recursion and Trees 5.1 Recursive Algorithms5.2 Divide and Conquer 5.3 Dynamic Programming5.4 Trees 5.5 Mathematical Properties of Trees 5.6 Tree Traversal5.7 Recursive Binary-Tree Algorithms 5.8 Graph Traversal5.9 PerspectiveSortingChapter 6.Elementary Sorting Methods 6.1 Rules of the Game 6.2 Selection Sort6.3 Insertion Sort6.4 Bubble Sort6.5 Performance Characteristics of Elementary Sorts 6.6 Shellsort 6.7 Sorting Other Types of Data6.8 Index and Pointer Sorting6.9 Sorting Linked Lists6.10 Key-Indexed Counting Chapter 7.Quicksort 7.1 The Basic Algorithm 7.2 Performance Characteristics of Quicksort 7.3 Stack Size 7.4 Small Subfiles 7.5 Median-of-Three Partitioning7.6 Duplicate Keys 7.7 Strings and Vectors 7.8 SelectionChapter 8.Merging and Mergesort 8.1 Two-Way Merging 8.2 Abstract In-Place Merge8.3 Top-Down Mergesort 8.4 Improvements to the Basic Algorithm 8.5 Bottom-UP Mergesort8.6 Performance Characteristics of Mergesort 8.7 Linked-List Implementations of Mergesort 8.8 Recursion Revisited Chapter 9.Priority Queues and Heapsort 9.1 Elementary Implementations9.2 Heap Data Structure9.3 Algorithms on Heaps9.4 Heapsort 9.5 Priority-Queue ADT9.6 Priority Queues for Index Items9.7 Binomial QueuesChapter 10.Radix Sorting 10.1 Bits, Bytes, and Words 10.2 Binary Quicksort 10.3 MSD Radis Sort 10.4 Three-Way Radin Quicksort 10.S LSD Radis Sort 10.6 Performance Characteristics of Radix Sorts10.7 Sublinear-Time Sorts Chapter 11.Spedal-Purpose Sorts 11.1 Batcher's Odd-Even Mergesort 11.2 Sorting Networks 11.3 External Sorting11.4 Sort-Merge Implementations11.5 Parallel Sort/Merge SearchingChapter 12.Symbol Tables and BSTs 12.1 Symbol-Table Abstract Data Type12.2 Key-Indexed Search12.3 Sequential Search12.4 Binary Search 12.5 Binary Search Trees (BSTs) 12.6 Performance Characteristics of BSTs12.7 Index Implementations with Symbol Tables 12.8 Insertion at the Root in BSTs 12.9 BST Implementations of Other ADT FunctinnsChapter 13.Balanced Trees 13.1 Randomized BSTs 13.2 Splay BSTs13.3 Top-Down 2-3-4 Trees 13.4 Red-Black Trees13.5 Skip Lists13.6 Performance CharacteristicsChapter 14.Hashing 14.1 Hash Functions14.2 Separate Chaining14.3 Linear Probing14.4 Double Hashing14.5 Dynadric Hash Tables 14.6 Perspective Chapter 15.Radit Search 15.1 Digital Search Trees 15.2 Tries 15.3 Patricia Tries 15.4 Multiway Tries and TSTs 15.5 Text String Index ApplicationsChapter 16.External Searching 16.1 Rules of the Game16.2 Indexed Sequential Access16.3 B Trees16.4 Extendible Hashing16.5 PerspectiveIndex
媒體關注與評論
書評本套教學用書的特點: 權(quán)威性——教育部高等教育司推薦、教育部高等學校信息科學與技術(shù)引進教材專家組遴選。 系統(tǒng)性——覆蓋計算機專業(yè)主干課程和非計算機專業(yè)計算機基礎課程。 先進性——著名計算機專家近兩年的最新著作,內(nèi)容體系先進。 經(jīng)濟性——價格與國內(nèi)自編教材相當、是國內(nèi)引進教材價格最低的。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
算法Ⅰ~Ⅳ(C++實現(xiàn)):基礎、數(shù)據(jù)結(jié)構(gòu)、排序和搜索 PDF格式下載