《数据结构与算法分析C++描述》Mark.Allen.Weiss.pdf



下载地址:网盘下载



内容简介

编辑
此书是作者1996年出版“Algorithm,Data Structures,and Problem Solving with C++”的缩编本,原书正文807页,作者对内容包括算法重新作了编排,本书正文575页共分12章,其内容依次为C++简介;算法分析;表、栈与队列;树;散列 ;优先队列(堆);排序;并查集;图;算法设计技术;缓冲分析;高级数据结构和实现。附录中给出类设计的模板。
本书内容基本符合目前《数据结构与算法》大纲的要求,比较适合当前的教学需要。内容编排上较为合理,篇幅较小,叙述清楚,适合于本科高年级和研究生使用。 [1]  

图书目录

编辑
Chapter 1 Introduction

  1.1 What's the Book About?
  1.2 Mathematics Review
  1.3 A Brief Introduction to Recursion
  1.4 C++ Classes
  1.5 C++ Details
  1.6 Templates
  1.7 Using Matrices
  Chapter 2 Algorithm Analysis
  2.1 Mathematical Background
  2.2 Model
  2.3 What to Analyze
  2.4 Running Time Calculations
  Chapter 3 Lists,Stacks,and Queues
  3.1 Abstract Data Types(ADTS)
  3.2 The List ADT
  3.3 The Stack ADT
  3.4 The Queue ADT
  Chapter 4 Trees
  4.1 Preliminaries
  4.2 Binary Trees
  4.3 The Search Tree ADT——Binary Search Trees
  4.4 AVL Trees
  4.5 Splay Trees
  4.6 Tree Traversals(Revisited)
  4.7 B-Trees
  Chapter 5 Hashing
  5.1 General Idea
  5.2 Hash Function
  5.3 Separate Chaining
  5.4 Open Addressing
  5.5 Rehashing
  5.6 Extendible Hashing
  Chapter 6 Priority Queues(Heaps)
  6.1 Model
  6.2 Simple Implementations
  6.3 Binary Heap
  6.4 Applicatins of Priority Queues
  6.5 d-Heaps
  6.6 Leftist Heaps
  6.7 Skew Heaps
  6.8 Binomial Queues
  Chapter 7 Sorting
  7.1 Preliminaries
  7.2 Insertion Sort
  7.3 A Lower Bound for Simple Sorting Algorithms
  7.4 Shellsort
  7.5 Heapsort
  7.6 Mergesort
  7.7 Quicksort
  7.8 Indirect Soring
  7.9 A Generl Lower Bound for Sorting
  7.10 Bucket Sort
  7.11 External Sorting
  Chapter 8 The Disjoint Set ADT
  8.1 Equivalence Relations
  8.2 The Dynamic Equivalence Problem
  8.3 Basic Data Structure
  8.4 Smart Union Algorithms
  8.5 Path Compression
  8.6 Worst Case for Union-by-Rank and Path Compression
  8.7 An Application
  Chapter 9 Graph Algorithms
  9.1 Definitions
  9.2 Topological Sort
  9.3 Shortest-Path Algorithms
  9.4 Network Flow Problems
  9.5 Minimum Spanning Tree
  9.6 Applications of Depth-First Search
  9.7 Introduction to NP-Completeness
  Chapter 10 Algorithm Design Techniques
  10.1 Greedy Algorithms
  10.2 Divide and Conquer
  10.3 Dynamic Programming
  10.4 Randomized Algorithms
  10.5 Backtracking Algorithms
  Chapter 11 Amortized Analysis
  11.1 An Unrelated Puzzle
  11.2 Binomial Queues
  11.3 Skew Heaps
  11.4 Fibonacci Heaps
  11.5 Splay Trees
  Chapter 12 Advanced Data Structures and Implementation
  12.1 Top-Down Splay Trees
  12.2 Red-Black Trees
  12.3 Daterministic Skip Lists
  12.4 AA-Trees
  12.5 Treaps
  12.6 k-d Trees
  12.7 Pairing Heaps
  Appendix A The Standard Template Library
  A.1 Introduction
  A.2 Basic STL Concepts
  A.3 Unordered Sequences:vector and list
  A.4 Sets
  A.5 Maps
  A.6 Example:Generating a Concordance
  A.7 Example:Shortest-Path Calculation
  A.8 Other STL Features
  Appendix B vector and string Classes
  B.1 First-Class versus Second-Class Objects
  B.2 vector Class
  B.3 string Class
  Index [2]  




下载地址:网盘下载

转载于:https://www.cnblogs.com/long12365/p/9731934.html

The fourth edition of Data Structures and Algorithm Analysis in C++ describes data structures, methods of organizing large amounts of data, and algorithm analysis, the estimation of the running time of algorithms. As computers become faster and faster, the need for programs that can handle large amounts of input becomes more acute. Paradoxically, this requires more careful attention to efficiency, since inefficiencies in programs become most obvious when input sizes are large. By analyzing an algorithm before it is actually coded, students can decide if a particular solution will be feasible. For example, in this text students look at specific problems and see how careful implementations can reduce the time constraint for large amounts of data from centuries to less than a second. Therefore, no algorithm or data structure is presented without an explanation of its running time. In some cases, minute details that affect the running time of the implementation are explored. Once a solution method is determined, a program must still be written. As computers have become more powerful, the problems they must solve have become larger and more complex, requiring development of more intricate programs. The goal of this text is to teach students good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amount of efficiency. This book is suitable for either an advanced data structures course or a first-year graduate course in algorithm analysis. Students should have some knowledge of intermediate programming, including such topics as pointers, recursion, and object-based programming, as well as some background in discrete math.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值