书籍详情
国外教材:算法I-IV-基础、数据结构、排序和搜索(第3版影印版)
作者:塞奇威克 Sedgewick
出版社:中国电力出版社
出版时间:2003-11-01
ISBN:9787508314815
定价:¥70.00
购买这本书可以去
内容简介
作者彻底重写并充分扩展了该书的前几个版本,对各个领域中当前流行的主要算法和数据结构进行了讲解。书中介绍了很多新算法,并且针对每一种算法做出了详细解释,其程度超过了以往的各个版本。创新且详细的文本安排,新的图表形式,书后附加的注释,以及非常棒的陈述方式。第三本依然延续了理论与实践相结合的书写风格,这使得该书面向的读者超过了250000人。本书讲述的是作者全部工作的前半部分。书中讲述了各个领域中的基础数据结构、排序算法、搜索,以及相关的应用程序。通过用C语言简单地实现书中的算法和数据结构,可帮助你在学习算法及数据结构的基本特性的同时,在实际应用中测试它们。当然,本书的价值所在并不局限于某种语言。本书特点:扩展介绍了数组、链表、串、树和其他基本数据结构;比以前版更为强调抽象数据类型(ADT);为排序、选择、优先队列ADT实现和符号表ADT(查找)实现提供了多达100余个算法;提供了双端队列、多路基数排序、Batcher排序网、随机BST、伸展做、跳表、多路tries,以及其他一些新的数据结构;对算法提供了更多量化信息,包括大量实验研究和基本分析研究,从而为对其加以比较提供了一个基础;提供了多达1000余个新练习,从而有助于你了解算法的特性。无论你是一个实效学习算法的学生,抑或是一个醉心于掌握最新参考资料的专业人士,在本书中都将获得大量有用信息。
作者简介
RobertSedgewick是普林斯顿大学的计算机科学教授。他于斯坦福大学获得博士学位(师从DonaldE.Knuth)。Sedgewick是AdobeSystems公司的主管,并且作为研究人员还曾供职于施乐的洛阿尔托研究中心(XeroxPARC)、美国国防部防御分析研究所(theinstituterforDefenseAnalyses)和法国国立计算机与自动化研究所(INRIA)。Sedgewick(与PhilippeFlajolet)还合著有《AnIntroductiontotheAnalysisofAigorithms》一书。
目录
Fundamentals
Chapter 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 Structures
Chapter 3. Elementary Data Structures
3.1 Building Blocks
3.2 Arrays
3.3 Linked Lists
3.4 Elementary List Processing
3.5 Memory Allocation for Lists
3.6 Strings
3.7 Compound Data Structures
Chapter 4. Abstract Data Types
4.1 Abstract Objects and Collections of Objects
4.2 Pushdown Stack ADT
4.3 Examples of Stack ADT Clients
4.4 Stack ADT Implementations
4.5 Creation of a New ADT
4.6 FIFO Queues and Generalized Queues
4.7 Duplicate and Index Items
4.8 First-Class ADTs
4.9 Application-Based ADT Example
4.10 Perspective
Chapter 5. Recursion and Trees
5.1 Recursive Algorithms
5.2 Divide and Conquer
5.3 Dynamic Programming
5.4 Trees
5.5 Mathematical Properties of Trees
5.6 Tree Traversal
5.7 Recursive Binary-Tree Algorithms
5.8 Graph Traversal
5.9 Perspective
Sorting
Chapter 6. Elementary Sorting Methods
6.1 Rules of the Game
6.2 Selection Sort
6.3 Insertion Sort
6.4 Bubble Sort
6.5 Performance Characteristics of Elementary Sorts
6.6 Shellsort
6.7 Sorting Other Types of Data
6.8 Index and Pointer Sorting
6.9 Sorting of Linked Lists
6.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 Partitioning
7.6 Duplicate Keys
7.7 Strings and Vectors
7.8 Selection
Chapter 8. Merging and Mergesor
8.1 Two-Way Merging
8.2 Abstract In-place Merge
8.3 Top-Down Mergesort
8.4 Improvements to the Basic Algorithm
8.5 Bottom-Up Mergesort
8.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 Implementations
9.2 Heap Data Structure
9.3 Algorithms on Heaps
9.4 Heapsort
9.5 Priority-Queue ADT
9.6 Priority Queues of for Index Items
9.7 Binomial Queues
Chapter 10. Radix Sorting
10.1 Bits, Bytes, and Words
10.2 Binary Quicksort
10.3 MSD Radix Sort
10.4 Three-Way Radix Quicksort
10.5 LSD Radix Sort
10.6 Performance Characteristics of Radix Sorts
10.7 Sublinear-Time Sorts
Chapter 11. Special-Purpose Sorts
11.1 Batcher`s Odd-Even Mergesort
11.2 Sorting Networks
11.3 External Sorting
11.4 Sort-Merge Implementations
11.5 Parallel Sort/Merge
Searching
Chapter 12. Symbol Tables and BSTs
12.1 Symbol-Table Abstract Data Type
12.2 Key-Indexed Search
12.3 Sequential Search
12.4 Binary Search
12.5 Binary Search Trees(BSTs)
12.6 Performance Characteristics of BSTs
12.7 Index Implementations with Symbol Tables
12.8 Insertion at the Root in BSTs
12.9 BST Implementations of Other ADT Functions
Chapter 13. Balanced Trees
13.1 Randomized BSTs
13.2 Splay BSTs
13.3 Top-Down 2-3-4 Trees
13.4 Red-Black Trees
13.5 Skip Lists
13.6 Performance Characteristics
Chapter 14. Hashing
14.1 Hash Functions
14.2 Separate Chaining
14.3 Linear Probing
14.4 Double Hashing
14.5 Dynamic Hash Tables
14.6 Perspective
Chapter 15. Radix Search
15.1 Digital Search Trees
15.2 Tries
15.3 Patricia Tries
15.4 Multiway Tries and TSTs
15.5 Text String Index Algorithms
Chapter 16. External Searching
16.1 Rules of the Game
16.2 Indexed Sequential Access
16.3 B Trees
16.4 Extendible Hashing
16.5 Perspective
Intex
Chapter 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 Structures
Chapter 3. Elementary Data Structures
3.1 Building Blocks
3.2 Arrays
3.3 Linked Lists
3.4 Elementary List Processing
3.5 Memory Allocation for Lists
3.6 Strings
3.7 Compound Data Structures
Chapter 4. Abstract Data Types
4.1 Abstract Objects and Collections of Objects
4.2 Pushdown Stack ADT
4.3 Examples of Stack ADT Clients
4.4 Stack ADT Implementations
4.5 Creation of a New ADT
4.6 FIFO Queues and Generalized Queues
4.7 Duplicate and Index Items
4.8 First-Class ADTs
4.9 Application-Based ADT Example
4.10 Perspective
Chapter 5. Recursion and Trees
5.1 Recursive Algorithms
5.2 Divide and Conquer
5.3 Dynamic Programming
5.4 Trees
5.5 Mathematical Properties of Trees
5.6 Tree Traversal
5.7 Recursive Binary-Tree Algorithms
5.8 Graph Traversal
5.9 Perspective
Sorting
Chapter 6. Elementary Sorting Methods
6.1 Rules of the Game
6.2 Selection Sort
6.3 Insertion Sort
6.4 Bubble Sort
6.5 Performance Characteristics of Elementary Sorts
6.6 Shellsort
6.7 Sorting Other Types of Data
6.8 Index and Pointer Sorting
6.9 Sorting of Linked Lists
6.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 Partitioning
7.6 Duplicate Keys
7.7 Strings and Vectors
7.8 Selection
Chapter 8. Merging and Mergesor
8.1 Two-Way Merging
8.2 Abstract In-place Merge
8.3 Top-Down Mergesort
8.4 Improvements to the Basic Algorithm
8.5 Bottom-Up Mergesort
8.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 Implementations
9.2 Heap Data Structure
9.3 Algorithms on Heaps
9.4 Heapsort
9.5 Priority-Queue ADT
9.6 Priority Queues of for Index Items
9.7 Binomial Queues
Chapter 10. Radix Sorting
10.1 Bits, Bytes, and Words
10.2 Binary Quicksort
10.3 MSD Radix Sort
10.4 Three-Way Radix Quicksort
10.5 LSD Radix Sort
10.6 Performance Characteristics of Radix Sorts
10.7 Sublinear-Time Sorts
Chapter 11. Special-Purpose Sorts
11.1 Batcher`s Odd-Even Mergesort
11.2 Sorting Networks
11.3 External Sorting
11.4 Sort-Merge Implementations
11.5 Parallel Sort/Merge
Searching
Chapter 12. Symbol Tables and BSTs
12.1 Symbol-Table Abstract Data Type
12.2 Key-Indexed Search
12.3 Sequential Search
12.4 Binary Search
12.5 Binary Search Trees(BSTs)
12.6 Performance Characteristics of BSTs
12.7 Index Implementations with Symbol Tables
12.8 Insertion at the Root in BSTs
12.9 BST Implementations of Other ADT Functions
Chapter 13. Balanced Trees
13.1 Randomized BSTs
13.2 Splay BSTs
13.3 Top-Down 2-3-4 Trees
13.4 Red-Black Trees
13.5 Skip Lists
13.6 Performance Characteristics
Chapter 14. Hashing
14.1 Hash Functions
14.2 Separate Chaining
14.3 Linear Probing
14.4 Double Hashing
14.5 Dynamic Hash Tables
14.6 Perspective
Chapter 15. Radix Search
15.1 Digital Search Trees
15.2 Tries
15.3 Patricia Tries
15.4 Multiway Tries and TSTs
15.5 Text String Index Algorithms
Chapter 16. External Searching
16.1 Rules of the Game
16.2 Indexed Sequential Access
16.3 B Trees
16.4 Extendible Hashing
16.5 Perspective
Intex
猜您喜欢