出版時間:2001-7-1 出版社:高等教育出版社 作者:Baase
Tag標簽:無
內容概要
本書的主要內容包括三部分,一是介紹了如何用算法解決在計算機應用中經常出現(xiàn)的現(xiàn)實問題,二是介紹了計算復雜性的基本原理與技術,最后講解了NP-完備性問題及并行算法。本書強調算法設計技術,對每一個問題,首先討論多個解決方法,然后設計、分析、修改或放棄某一算法,通過不斷的深入研究,直到最后得到滿意的結果。因此本書作者希望讀者閱讀此書,逐步培養(yǎng)形成一種新的分析問題的思維方式。
本書在第二版的基礎上,增加了三章新內容以及許多新的主題,同時對原有章節(jié)也做了重新調整。本版次還新增了100多道習題和Java實例,書中的所有程序均以Java偽碼形式給出。
內容:1. 算法分析原理 2. 數(shù)據抽象與基本數(shù)據結構 3. 遞歸與歸納 4. 分類 5. 選擇 6. 動態(tài)集合與查找 7. 圖與圖的遍歷 8. 圖的優(yōu)化問題與貪心算法 9. 傳遞閉包 10. 動態(tài)編程 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 References4 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 BibliographyIndex
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載