計算機算法:設計與分析導論

計算機算法:設計與分析導論

《計算機算法:設計與分析導論》是2001年高等教育出版社出版的圖書,作者是Baase。

基本介紹

  • 書名:計算機算法:設計與分析導論
  • 原版名稱: Computer Algorithms
  • ISBN:7040100487
  • 頁數: 688頁
  • 出版社:高等教育出版社
  • 裝幀:平裝
  • 開本: 16
內容簡介,目錄,

內容簡介

本書的主要內容包括三部分,一是介紹了如何用算法解決在計算機套用中經常出現的現實問題,二是介紹了計算複雜性的基本原理與技術,最後講解了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 PhComputer 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 Findingthe 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

相關詞條

熱門詞條

聯絡我們