计算机算法:设计与分析导论(第3版影印版)(国外优秀信息科学与技术系列教学用书)(Computer Algorithms)

分类: 图书,计算机与互联网,计算机科学理论,计算机数学,
品牌: Baase
基本信息·出版社:高等教育出版社
·页码:688 页
·出版日期:2001年
·ISBN:7040100487
·条形码:9787040100488
·包装版本:影印版
·装帧:平装
·开本:16
·正文语种:英语
·丛书名:国外优秀信息科学与技术系列教学用书
·外文书名:Computer Algorithms
产品信息有问题吗?请帮我们更新产品信息。
内容简介本书的主要内容包括三部分,一是介绍了如何用算法解决在计算机应用中经常出现的现实问题,二是介绍了计算复杂性的基本原理与技术,最后讲解了NP-完备性问题及并行算法。本书强调算法设计技术,对每一个问题,首先讨论多个解决方法,然后设计、分析、修改或放弃某一算法,通过不断的深入研究,直到最后得到满意的结果。因此本书作者希望读者阅读此书,逐步培养形成一种新的分析问题的思维方式。
本书在第二版的基础上,增加了三章新内容以及许多新的主题,同时对原有章节也做了重新调整。本版次还新增了100多道习题和Java实例,书中的所有程序均以Java伪码形式给出。
内容:1. 算法分析原理 2. 数据抽象与基本数据结构 3. 递归与归纳 4. 分类 5. 选择 6. 动态集合与查找 7. 图与图的遍历 8. 图的优化问题与贪心算法 9. 传递闭包 10. 动态编程 11. 字符串匹配 12. 多项式与矩阵 13. NP-完备性问题 14. 并行算法 附录 Java实例与技术作者简介:
Sara Baase is professor of computer Science at San Diego University and has been teaching CS for 25years.Dr.Baase is a three-time recipient of the San State University Alumni Association's Outsatanding Faculty Award,adn she has written a number of textbooks in the areas of algorithms,assembly language,and social and ethical issues relate to computing.She earned her doctorate at the University of California,Berkeley.
Allen Van Celder is professor of computer Science at the University of California at Santa Cruz,where he has been teaching CS for 12 years.He received his Ph.D.in Computer Science at Stanford University and is a past recipient of the Presidential Young Investigator Award.
目录
Preface
1 Analyzing Algorithms and Problems: Principles and Examples
1.1 Introduction
1.2 Java as an Algorithm Language
1.3 Mathematical Background
1.4 Analyzing Algorithms and Problems
1.5 Classifying Functions by Their Asymptotic Growth Rates
1.6 Searching an Ordered Array
Exercises
Notes and References
2 Data Abstraction and Basic Data Structures
2.1 Introduction
2.2 ADT Specification and Design Techniques
2.3 Elementary ADTs--Lists and Trees
2.4 Stacks and Queues
2.5 ADTs for Dynamic Sets
Exercises
Notes and References
3 Recursion and induction
3.1 introduction
3.2 Recursive Procedures
3.3 What is a Proof?
3.4 Induction Proofs
3.5 Proving Correctness of Procedures
3.6 Recurrence Equations
3.7 Recursion Trees
Exercises
Notes and References
4 Sorting
4.1 Introduction
4.2 Insertion Sort
4.3 Divide and Conquer
4.4 Quicksort
4.5 Merging Sorted Sequences
4.6 Mergesort
4.7 Lower Bounds for Sorting by Comparison of Keys
4.8 Heapsort
4.9 Comparison of Four Sorting Algorithms
4.10 Shellsort
4.11 Radix Sorting
Exercises
Programs
Notes and References
5 Selection and Adversary Arguments
5.1 Introduction
5.2 Finding max and min
5.3 Finding the Second-Largest Key
5.4 The Selection Problem
5.5 A Lower Bound for Finding the Median
5.6 Designing Against an Adversary
Exercises
Notes and References
6 Dynamic Sets and Searching
6.1 Introduction
6.2 Array Doubling
6.3 Amortized Time Analysis
6.4 Red-Black Trees
6.5 Hashing
6.6 Dynamic Equivalence Relations and Union-Find Programs
6.7 Priority Queues with a Decrease Key Operation
Exercises
Programs
Notes and References
7 Graphs and Graph Traversals
8 Graph Optimization Problems and Greedy Algorithms
9 Transitive Closure, All-Pairs Shortest Paths
10 Dynamic Programming
11 String Matching
12 Polynomials and Matrices
13 NP-Complete Problems
14 Parallel Algorithms
A Java Examples and Techniques
Bibliography
Index
……[看更多目录]