算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)

算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2002-10
版次: 3
ISBN: 9787040113983
定价: 49.00
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 716页
字数: 1140千字
35人买过
  • 本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。

      本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算机算法特性的1000多种新练习、100多个图表以及大量的程序例子。

      Robert Sedgewick完全重定了他的著作,对它进行了充分的扩展和更新,涵盖了目前重要的算法和数据结构。Christopher Van Wyk和Sedgewick开发的新实现采用的是C++语言,这种实现不仅能简洁直接地表达算法,而且给编程者提供了实践的方法,以便在真正的应用中测试这些算法。

      新的版本提供了很多新算法,而且对每个算法的解释也比以前的版本详细得多。新的版面设计以及详细、富有创意并且具有注释的插图,使本书的表达能力大大地提高了。第三版保留了将理论和实践成功混合在一起的特点,正是这一点,使Sedgewick的著作成为25万多名程序员无价的参考资源。

      本书是全卷的前半部分,涵盖了基本的数据结构、排序算法、搜索算法以及它们的相关应用。虽然本书实质上可以用于各种语言的程序设计,Christopher Van Wyk和Sedgewick的实现都采用了C++类和ADT实现的自然对应。

      本书的精彩内容包括:
      
      
      ·扩展了对数组、链表、字符串树及其他基本数据结构的介绍。
      
      
      ·比以前的版本更中着重于抽象数据类型(ADT)、模块化程序设计方法、面向对象的程序 设计方法和C++类。
      
      
      ·有关排序、选择、优先级队列ADT实现和符号表ADT(搜索)实现的算法,超过100个。
      
      
      ·关于二项式队列、多路基数排序、随机化BST、发散树、跳跃表、多叉线索、B树、可扩充散列等,采用了新的实现。
      
      
      ·关于算法的量化分析,是比较算法的依据。
      
      
      ·1000多条新的练习,帮助读者学习算法。

      无论是你初学算法,还是想找一本将最新C++经典算法和新算法融入程序设计的参考手册,你都会发现本书提供了丰富的有用信息。 作者Robert Sedgewick是美国普林斯顿大学计算机科学系教授,也是Adobe系统领导者之一,曾任Xerox PARC公司、国防分析学院、INRIA公司研究组成员。 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' S3

    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.S 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 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 Mergesort 

    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 for Index Items

    9.7 Binomial Queues

    Chapter 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 Sorts

    10.7 Sublinear-Time Sorts 

    Chapter 11.Spedal-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 Functinns

    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 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 Applications

    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

    Index
  • 内容简介:
    本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。

      本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算机算法特性的1000多种新练习、100多个图表以及大量的程序例子。

      Robert Sedgewick完全重定了他的著作,对它进行了充分的扩展和更新,涵盖了目前重要的算法和数据结构。Christopher Van Wyk和Sedgewick开发的新实现采用的是C++语言,这种实现不仅能简洁直接地表达算法,而且给编程者提供了实践的方法,以便在真正的应用中测试这些算法。

      新的版本提供了很多新算法,而且对每个算法的解释也比以前的版本详细得多。新的版面设计以及详细、富有创意并且具有注释的插图,使本书的表达能力大大地提高了。第三版保留了将理论和实践成功混合在一起的特点,正是这一点,使Sedgewick的著作成为25万多名程序员无价的参考资源。

      本书是全卷的前半部分,涵盖了基本的数据结构、排序算法、搜索算法以及它们的相关应用。虽然本书实质上可以用于各种语言的程序设计,Christopher Van Wyk和Sedgewick的实现都采用了C++类和ADT实现的自然对应。

      本书的精彩内容包括:
      
      
      ·扩展了对数组、链表、字符串树及其他基本数据结构的介绍。
      
      
      ·比以前的版本更中着重于抽象数据类型(ADT)、模块化程序设计方法、面向对象的程序 设计方法和C++类。
      
      
      ·有关排序、选择、优先级队列ADT实现和符号表ADT(搜索)实现的算法,超过100个。
      
      
      ·关于二项式队列、多路基数排序、随机化BST、发散树、跳跃表、多叉线索、B树、可扩充散列等,采用了新的实现。
      
      
      ·关于算法的量化分析,是比较算法的依据。
      
      
      ·1000多条新的练习,帮助读者学习算法。

      无论是你初学算法,还是想找一本将最新C++经典算法和新算法融入程序设计的参考手册,你都会发现本书提供了丰富的有用信息。
  • 作者简介:
    作者Robert Sedgewick是美国普林斯顿大学计算机科学系教授,也是Adobe系统领导者之一,曾任Xerox PARC公司、国防分析学院、INRIA公司研究组成员。
  • 目录:
    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' S3

    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.S 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 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 Mergesort 

    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 for Index Items

    9.7 Binomial Queues

    Chapter 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 Sorts

    10.7 Sublinear-Time Sorts 

    Chapter 11.Spedal-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 Functinns

    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 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 Applications

    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

    Index
查看详情
相关图书 / 更多
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法构建论文层次学科分类体系的应用研究
耿海英
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法分析与设计实践
王小明
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法详解(卷4)——NP-Hard问题算法
[美]蒂姆·拉夫加登(Tim Roughgarden)
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法设计方法与优化(第2版)
滕国文;滕泰
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法详解 卷3 贪心算法和动态规划
[美]蒂姆·拉夫加登(Tim Roughgarden)
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法与数据结构(C++语言版)(第2版)
冯广慧
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法分析与设计
李少芳;卓明秀
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法设计与分析基础(Java版)(微课视频版)
李春葆;刘娟;喻丹丹
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法设计与分析基础(C++版)(微课视频版)
李春葆;陈良臣;喻丹丹
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法社会:技术、权力和知识(法律与科技译丛)
马克·舒伦伯格(Marc Schuilenburg)
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法设计实例教程
雷小宇
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索:(影印版)
算法设计与分析基础(Java版)学习与上机实验指导
李春葆;刘娟;喻丹丹