欢迎光临本店     登录 注册   加入收藏
  •   
欢迎光临清华大学出版社第三事业部!

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

当前位置: 首页 > 外版图书 > 计算机与互联网 > 算法设计与分析基础(第3版 影印版)Introduction to the Design and Analysis of Algorithms, Third Edition

浏览历史

算法设计与分析基础(第3版 影印版)Introduction to the Design and Analysis of Algorithms, Third Edition

算法设计与分析基础(第3版 影印版)Introduction to the Design and Analysis of Algorithms, Third Edition

prev next

  • 商品货号:2014051613
  • 商品重量:0克
    作者:(美)Anany Levitin 著
    出版社:清华大学出版社
    图书书号/ISBN:9787302311850
    出版日期:2013年5月
    开本:16
    图书页数:596
    图书装订:平装
    版次:第3版
    印张:37.5
    字数:1047千字
  • 上架时间:2014-05-16
    商品点击数:71862
  • 定价:¥79.00元
    本店售价:¥79.00元
    注册用户:¥79.00元
    vip:¥75.05元
    黄金等级:¥71.10元
    用户评价: comment rank 5
  • 商品总价:
  • 购买数量:

内容简介:

商品附加资源

                                                                                                                                                    内容简介

          本书在讲述算法设计技术时采用了新的分类方法,在讨论分析方法时条分缕析,形成了连贯有序、耳目一新的风格。为便于学生掌握,本书涵盖算法入门课程的全部内容,更注重对概念(而非形式)的理解。书中通过一些流行的谜题来激发学生的兴趣,帮助他们加强和提高解决算法问题的能力。每章小结、习题提示和详细解答,形成了非常鲜明的教学特色。

 

编辑推荐:
历经十年数百所高校教学实践的算法入门经典
算法是思维的艺术,是数学之美的完美体现,是计算机和信息科学的灵魂,更是优秀程序员的安身立命之本。本书将算法视为解决问题的工具,通过作者独创的、具有里程碑意义的新型分类法弥补了传统算法设计技术分类法的缺陷,用深入浅出的语言和新颖的实例与谜题,诠释了何为算法、算法的分类、算法幕后的思想、算法的效率,抽丝剥茧、条分缕析地探索了算法设计与分析过程。
本书用全新的方式通过谜题和游戏来开拓算法思维,既适合本科生和研究生教学,又适合程序员参考,是帮助他们享受算法的乐趣,领悟思维训练之美,提升编程能力的理想读物。
    (1)从科学性和专业性来讲,作者将原来不受重视的一些算法设计策略(如蛮力法、减治法、变治法、时空权衡和迭代改进)等纳入其中,覆盖了更多传统方法无法分类的经典算法(如欧几里得算法、堆排序、查找树、散列法、拓扑排序、高斯消去法、霍钠法则等),甚至还纳入了一些重要算法设计方法的变种。
   (2)从系统性来讲,有趣的是,本书采用的正是算法的经典模式,首先说明什么是算法,然后经过思维训练和实践,解决如何分析与设计算法。这一点而言,对学生的真正意义在于,学会用思维能力和创新能力来解决问题,为日后的职业生涯打下坚实的基础。
    (3)从适用性来讲,本书跳出了传统教材的框架,用一种新颖的方式来呈现主题,既照顾了本科学生课堂教学的需求,也兼顾了让他们课后拓展学习,进一步探索算法奥秘的愿望,具有广泛的普适性。
    (4)从创新性来讲,本书的分类框架条理清晰,符合计算机教育的原理,非常适合算法教学,大量的流行谜题和游戏,让人流连忘返,手不释卷。
经过近5年的教学实践,本书第1版和第2版被证明是算法课程中具有较高价值的经典教材,据不完全统计,选用本书的学校包括清华大学、复旦大学、中国矿业大学、上海交通大学、解放军理工大学、广西大学、华南理工大学、安徽工业大学、广东工业大学、西安建筑科技大学,广东理工大学,齐齐哈尔大学、南昌航空工业学院软件学院、解放军炮兵学院、绵阳师范学院、湘潭大学、徐州工程学院、广东工业大学、广东工业大学、沈阳工业大学、西南科技大学、上海工程技术大学、湖南商学院、炮兵学院基础部、江西财经大学、华北科技学院、中南民族大学、沈阳建筑大学、北京第二外国语学院教育技术中心、潍坊学院、西华大学、武汉理工大学、河南师范大学、无锡科技职业学院、安徽理工大学、浙江工商大学、肇庆学院等。
媒体评论:
l   知名IT杂志《Dr. Dobb Journal》 发表了一篇题为“算法设计技术新蓝图”(A New Roadmap of Algorithm Design Techniques)的文章,对Anany Levitin给予高度评价。
全文链接:http://www.drdobbs.com/a-new-road-map-ofalgorithm-design-techni/184404059
l   SIGCSE 2002主题报告:“谜题在算法教学过程中的巧用”(Using Puzzles in Teaching Algorithms),作者Anany Levitin和Mary-Angela Papalaskari。
l   -UNLV:“本书以全新的角度另辟蹊径,按照算法设计来对各种算法进行分类,这样做大大激发了学生学习算法的兴趣,提高了他们的学习积极性。”
l   -密西根大学:“本书以引人入胜的独到方式描述了算法的结构(英语描述,伪代码)和行为(英语描述,执行树)”
l   -阿拉巴马大学: “书中的练习题很好地综合了算法跟踪、算法设计、数学证明和程序实现这几大重要环节。”

 

本书特色:
独辟蹊径,采用一种更全面的算法设计技术分类方法
涵盖递归与非递归算法的数学分析,也涉及经验分析和算法可视化
探讨算法的局限性及解决方法
将算法视为解决问题的工具,通过谜题和游戏来开拓算法思维
l   为学生提供600多道习题(含提示),为教师提供有详细解答的教师手册
本书适用于以下课程:
C++算法(计算机科学)
Java—算法(计算机科学)
C算法(计算机科学)
C算法/数据结构高级课程(计算机科学)
Java-算法/数据结构高级课程(计算机科学)
C++--算法/数据结构高级课程(计算机科学)
 
作者简介: Anany Levitin教授,维拉诺瓦大学
毕业于莫斯科国立大学并获得数学硕士学位。他拥有耶路撒冷希伯来大学数学博士学位和美国肯塔基大学计算机科学硕士学位。他的著作《算法设计与分析基础》已经被翻译为中文、俄文、希腊文和韩文,并被全球数百所高校广泛用作教材。目前,Levitin博士在美国维拉诺瓦大学讲授“算法设计与分析”课程。他的另一本著作《算法谜题》已经于2011年秋出版。
 
Anany Levitin,美籍犹太人,维拉诺瓦大学(Villanova)计算机科学系教授。他的论文“算法设计技术新途径:弥补传统分类法的缺憾”(A New Road Mpa of Algorithm Design Techniques: Picking Up Where the Traditional Classfication Leaves Off)深受业内好评,并享有广泛的声誉。他提出的这种新分类方法涵盖众多经典算法,开创了传统分类无法以一致方式介绍这些算法的先河。作为通用的问题解决工具,算法设计技术的应用很广,尤其适用于解决“狼,羊,白菜”问题和旅行商问题之类的流行谜题。
 
因为他对算法教育所做出的杰出贡献,Levitin教授曾多次受邀在SIGCSE(Computer Science Education,计算机教育) 全球大会上发表演讲,此大会每三年才举行一次。
 
Anany Levitin教授目前的研究课题为“Do We Teach the Right Algorithm Design Techniques ?”
 
目录:Table of Contents
New to the Third Edition xvii
Preface xix
1Introduction 1
1.1 What Is an Algorithm? 3
Exercises 1.1 7
1.2 Fundamentals of Algorithmic Problem Solving 9
Understanding the Problem 9
Ascertaining the Capabilities of the Computational Device 9
Choosing between Exact and Approximate Problem Solving 11
Algorithm Design Techniques 11
Designing an Algorithm and Data Structures 12
Methods of Specifying an Algorithm 12
Proving an Algorithm’s Correctness 13
Analyzing an Algorithm 14
Coding an Algorithm 15
Exercises 1.2 17
1.3 Important Problem Types 18
Sorting 19
Searching 20
String Processing 20
Graph Problems 21
Combinatorial Problems 21
Geometric Problems 22
Numerical Problems 22
Exercises 1.3 23
1.4 Fundamental Data Structures 25
Linear Data Structures 25
Graphs 28
Trees 31
Sets and Dictionaries 35
Exercises 1.4 37
Summary 38

2 Fundamentals of the Analysis of Algorithm Efficiency 41
2.1 The Analysis Framework 42
Measuring an Input’s Size 43
Units for Measuring Running Time 44
Orders of Growth 45
Worst-Case, Best-Case, and Average-Case Efficiencies 47
Recapitulation of the Analysis Framework 50
Exercises 2.1 50
2.2 Asymptotic Notations and Basic Efficiency Classes 52
Informal Introduction 52
O-notation 53
-notation 54
-notation 55
Useful Property Involving the Asymptotic Notations 55
Using Limits for Comparing Orders of Growth 56
Basic Efficiency Classes 58
Exercises 2.2 58
2.3 Mathematical Analysis of Nonrecursive Algorithms 61
Exercises 2.3 67
2.4 Mathematical Analysis of Recursive Algorithms 70
Exercises 2.4 76
2.5 Example: Computing the nth Fibonacci Number 80
Exercises 2.5 83
2.6 Empirical Analysis of Algorithms 84
Exercises 2.6 89
2.7 Algorithm Visualization 91
Summary 94

3 Brute Force and Exhaustive Search 97
3.1 Selection Sort and Bubble Sort 98
Selection Sort 98
Bubble Sort 100
Exercises 3.1 102
3.2 Sequential Search and Brute-Force String Matching 104
Sequential Search 104
Brute-Force String Matching 105
Exercises 3.2 106
3.3 Closest-Pair and Convex-Hull Problems by Brute Force 108
Closest-Pair Problem 108
Convex-Hull Problem 109
Exercises 3.3 113
3.4 Exhaustive Search 115
Traveling Salesman Problem 116
Knapsack Problem 116
Assignment Problem 119
Exercises 3.4 120
3.5 Depth-First Search and Breadth-First Search 122
Depth-First Search 122
Breadth-First Search 125
Exercises 3.5 128
Summary 130

4 Decrease-and-Conquer 131
4.1 Insertion Sort 134
Exercises 4.1 136
4.2 Topological Sorting 138
Exercises 4.2 142
4.3 Algorithms for Generating Combinatorial Objects 144
Generating Permutations 144
Generating Subsets 146
Exercises 4.3 148
4.4 Decrease-by-a-Constant-Factor Algorithms 150
Binary Search 150
Fake-Coin Problem 152
Russian Peasant Multiplication 153
Josephus Problem 154
Exercises 4.4 156
4.5 Variable-Size-Decrease Algorithms 157
Computing a Median and the Selection Problem 158
Interpolation Search 161
Searching and Insertion in a Binary Search Tree 163
The Game of Nim 164
Exercises 4.5 166
Summary 167

5 Divide-and-Conquer 169
5.1 Mergesort 172
Exercises 5.1 174
5.2 Quicksort 176
Exercises 5.2 181
5.3 Binary Tree Traversals and Related Properties 182
Exercises 5.3 185
5.4 Multiplication of Large Integers and
Strassen’s Matrix Multiplication 186
Multiplication of Large Integers 187
Strassen’s Matrix Multiplication 189
Exercises 5.4 191
5.5 The Closest-Pair and Convex-Hull Problems
by Divide-and-Conquer 192
The Closest-Pair Problem 192
Convex-Hull Problem 195
Exercises 5.5 197
Summary 198

6 Transform-and-Conquer 201
6.1 Presorting 202
Exercises 6.1 205
6.2 Gaussian Elimination 208
LU Decomposition 212
Computing a Matrix Inverse 214
Computing a Determinant 215
Exercises 6.2 216
6.3 Balanced Search Trees 218
AVL Trees 218
2-3 Trees 223
Exercises 6.3 225
6.4 Heaps and Heapsort 226
Notion of the Heap 227
Heapsort 231
Exercises 6.4 233
6.5 Horner’s Rule and Binary Exponentiation 234
Horner’s Rule 234
Binary Exponentiation 236
Exercises 6.5 239
6.6 Problem Reduction 240
Computing the Least Common Multiple 241
Counting Paths in a Graph 242
Reduction of Optimization Problems 243
Linear Programming 244
Reduction to Graph Problems 246
Exercises 6.6 248
Summary 250

7 Space and Time Trade-Offs 253
7.1 Sorting by Counting 254
Exercises 7.1 257
7.2 Input Enhancement in String Matching 258
Horspool’s Algorithm 259
Boyer-Moore Algorithm 263
Exercises 7.2 267
7.3 Hashing 269
Open Hashing (Separate Chaining) 270
Closed Hashing (Open Addressing) 272
Exercises 7.3 274
7.4 B-Trees 276
Exercises 7.4 279
Summary 280

8 Dynamic Programming 283
8.1 Three Basic Examples 285
Exercises 8.1 290
8.2 The Knapsack Problem and Memory Functions 292
Memory Functions 294
Exercises 8.2 296
8.3 Optimal Binary Search Trees 297
Exercises 8.3 303
8.4 Warshall’s and Floyd’s Algorithms 304
Warshall’s Algorithm 304
Floyd’s Algorithm for the All-Pairs Shortest-Paths Problem 308
Exercises 8.4 311
Summary 312

9 Greedy Technique 315
9.1 Prim’s Algorithm 318
Exercises 9.1 322
9.2 Kruskal’s Algorithm 325
Disjoint Subsets and Union-Find Algorithms 327
Exercises 9.2 331
9.3 Dijkstra’s Algorithm 333
Exercises 9.3 337
9.4 Huffman Trees and Codes 338
Exercises 9.4 342
Summary 344

10 Iterative Improvement 345
10.1 The Simplex Method 346
Geometric Interpretation of Linear Programming 347
An Outline of the Simplex Method 351
Further Notes on the Simplex Method 357
Exercises 10.1 359
10.2 The Maximum-Flow Problem 361
Exercises 10.2 371
10.3 Maximum Matching in Bipartite Graphs 372
Exercises 10.3 378
10.4 The Stable Marriage Problem 380
Exercises 10.4 383
Summary 384

11 Limitations of Algorithm Power 387
11.1 Lower-Bound Arguments 388
Trivial Lower Bounds 389
Information-Theoretic Arguments 390
Adversary Arguments 390
Problem Reduction 391
Exercises 11.1 393
11.2 Decision Trees 394
Decision Trees for Sorting 395
Decision Trees for Searching a Sorted Array 397
Exercises 11.2 399
11.3 P, NP, and NP-Complete Problems 401
P and NP Problems 402
NP-Complete Problems 406
Exercises 11.3 409
11.4 Challenges of Numerical Algorithms 412
Exercises 11.4 419
Summary 420

12 Coping with the Limitations of Algorithm Power 423
12.1 Backtracking 424
n-Queens Problem 425
Hamiltonian Circuit Problem 426
Subset-Sum Problem 427
General Remarks 428
Exercises 12.1 430
12.2 Branch-and-Bound 432
Assignment Problem 433
Knapsack Problem 436
Traveling Salesman Problem 438
Exercises 12.2 440
12.3 Approximation Algorithms for NP-Hard Problems 441
Approximation Algorithms for the Traveling Salesman Problem 443
Approximation Algorithms for the Knapsack Problem 453
Exercises 12.3 457
12.4 Algorithms for Solving Nonlinear Equations 459
Bisection Method 460
Method of False Position 464
Newton’s Method 464
Exercises 12.4 467
Summary 468
Epilogue 471

APPENDIX A
Useful Formulas for the Analysis of Algorithms 475
Properties of Logarithms 475
Combinatorics 475
Important Summation Formulas 476
Sum Manipulation Rules 476
Approximation of a Sum by a Definite Integral 477
Floor and Ceiling Formulas 477
Miscellaneous 477

APPENDIX B
Short Tutorial on Recurrence Relations 479
Sequences and Recurrence Relations 479
Methods for Solving Recurrence Relations 480
Common Recurrence Types in Algorithm Analysis 485
References 493
Hints to Exercises 503
Index 547
 
书摘:前  言
“一个人接受科技教育时所能获得的最珍贵的收获,是那些能够受用终身的通用智能工具[1]。”
——George Forsythe,What to do till the computer scientist comes,1968
无论是计算科学还是计算实践,算法都在其中扮演着重要角色。因此,这门学科中出现了大量的教材。它们在介绍算法的时候,基本上都选择了以下两种方案中的一种。第一种方案是按照问题的类型对算法分类。这类教材安排了不同的章节分别讨论排序、查找、图等算法。这种做法的优点是,对于解决同一问题的不同算法,它能够立即比较这些算法的效率。其缺点在于,由于过于强调问题的类型,它忽略了对算法设计技术的讨论。
第二种方案围绕着算法设计技术来组织章节。在这种结构中,即使算法来自于不同的计算领域,如果它们采用了相同的设计技术,就会被编成一组。从各方(例如[BaY95])获得的信心使我相信,这种结构更适合于算法设计与分析的基础课程。强调算法设计技术有三个主要原因。第一,学生们在解决新问题时,可以运用这些技术设计出新的算法。从实用的角度看,这使得学习算法设计技术颇有价值。第二,学生们会试图按照算法的内在设计方法对已知的众多算法进行分类。计算机科学教育的一个主要目的,就是让学生们知道如何发掘不同应用领域的算法间的共性。毕竟,每门学科都会倾向于把它的重要主题归纳为几个甚至一个规则。第三,依我看来,算法设计技术作为问题求解的一般性策略,在解决计算机领域以外的问题时,也能发挥相当大的作用。
遗憾的是,无论是从理论还是从教学的角度,传统的算法设计技术分类法都存在一些严重的缺陷。其中最显著的缺陷就是无法对许多重要的算法进行分类。由于这种局限性,这些书的作者不得不在按照设计技术进行分类的同时,另外增加一些章节来讨论特殊的问题类型。但这种改变将导致课程缺乏一致性,而且很可能会使学生感到迷惑。
算法设计技术的新分类法
传统算法设计技术分类法的缺陷令我感到失望,它激发我开发一套新的分类法[Lev99],这套分类法就是本书的基础。以下是这套新分类法的几个主要优势。
l   新分类法比传统分类法更容易理解。它包含的某些设计策略,例如蛮力法、减治法、变治法、时空权衡和迭代改进,几乎从不曾被看作重要的设计范例。
l   新分类法很自然地覆盖了许多传统方法无法分类的经典算法(欧几里得算法、堆排序、查找树、散列法、拓扑排序、高斯消去法、霍纳法则等,不胜枚举)。所以,新分类法能够以一种连贯的、一致的方式表达这些经典算法的标准内容。
l   新分类法很自然地容纳了某些设计技术的重要变种(例如,它能涵盖减治法的3个变种和变治法的3个变种)。
l   在分析算法效率时,新分类法与分析方法结合得更好(参见附录B)。
设计技术作为问题求解的一般性策略
在本书中,主要将设计技术应用于计算机科学中的经典问题(这里唯一的创新是引入了一些数值算法的内容,我们也是用同样的通用框架来表述这些算法的)。但把这些设计技术看作问题求解的一般性工具时,它们的应用就不仅限于传统的计算问题和数学问题了。有两个因素令这一点变得尤其重要。第一,越来越多的计算类应用超越了它们的传统领域,并且有足够的理由使人相信,这种趋势会愈演愈烈。第二,人们渐渐认识到,提高学生们的问题求解能力是高等教育的一个主要目标。为了满足这个目标,在计算机科学课程体系中安排一门算法设计和分析课程是非常合适的,因为它会告诉学生如何应用一些特定的策略来解决问题。
虽然我并不建议将算法设计和分析课程变成一门教授一般性问题求解方法的课程,但我的确认为,我们不应错过算法设计和分析课程提供的这样一个独一无二的机会。为了这个目标,本书包含了一些和谜题相关的应用。虽然利用谜题来教授算法课程绝不是我的创新,但本书打算通过引进一些全新的谜题来系统地实现这个思路。
如何使用本书
我的目标是写一本既不泛泛而谈,又可供学生们独立阅读的教材。为了实现这个目标,本书做了如下努力。
l   根据George Forsythe的观点(参见引言),我试图着重强调那些隐藏在算法设计和分析背后的主要思想。在选择特定的算法来阐述这些思想的时候,我并不倾向于涉及大量的算法,而是选择那些最能揭示其内在设计技术或分析方法的算法。幸运的是,大多数经典算法满足了这个要求。
l   第2章主要分析算法的效率,该章将分析非递归算法的方法和分析递归算法的典型方法区别开来。这一章还花了一些篇幅介绍算法经验分析和算法可视化。
l   书中系统地穿插着一些面向读者的提问。其中有些问题是经过精心设计的,而且答案紧随其后,目的是引起读者的注意或引发疑问。其余问题的用意是防止读者走马观花,不能充分理解本书的内容。
l   每一章结束时都会对本章最重要的概念和结论做一个总结。
l   本书包含600多道习题。有些习题是为了给大家练习,另外一些则是为了指出书中正文部分所涉及内容的重要意义,或是为了介绍一些书中没有涉及的算法。有一些习题利用了因特网上的资源。较难的习题数量不多,会在教师用书中用一种特殊的记号标注出来(因为有些学生可能没有勇气做那些标有难度的习题,所以本书没有对习题标注难度)。谜题类的习题用一种特殊的图标做标注。
l   本书所有的习题都附有提示。除了编程练习,习题的详细解法都能够在教师用书中找到,符合条件的教师可以填写书后的教师证明表,发传真到010-62791865或者发邮件到coo@netease.com,以获得教学资源的访问权限,也可联系培生公司的当地销售代表,或者访问www. pearsonhighered.com/irc。本书的任何读者都可以在CS支持网站http://cssupport.pearsoncmg.com上找到PowerPoint格式的幻灯片文件。
第3版的变化
第3版有若干变化。其中最重要的变化是介绍减治法和分治法的先后顺序。第3版会先介绍减治法,后介绍分治法,这样做有以下几个优点。
l   较之分治法,减治法更简单。
l   在求解问题方面,减治法应用更广。
l   这样的编排顺序便于先介绍插入排序,后介绍合并排序和快速排序。
l   数组划分的概念通过选择性问题引入,这次利用Lomuto算法的单向扫描来实现,而将Hoare划分方法的双向扫描留至后文与快速排序一并介绍。
l   折半查找归入介绍减常量算法的章节。
另一重要变化是重新编排第8章关于动态规划的内容,具体如下所述。
l   导述部分的内容是全新的。在前两版中用计算二项式系数的例子来引入动态规划这一重要技术,但在第3版中会介绍3个基础性示例,这样介绍的效果更好。
l   8.1节的习题是全新的,包括一些在前两版中没有涉及的流行的应用。
l   第8章其他小节的顺序也做了调整,以便达到由浅入深、循序渐进的效果。
此外,还有其他一些变化。增加了不少与本书所述算法相关的应用。遍历图算法不再随减治法介绍,而是纳入蛮力算法和穷举查找的范畴,我认为这样更合理。在介绍生成组合对象的算法时,会新增格雷码算法。对求解最近对问题的分治法会有更深入的探讨。改进的内容包括算法可视化和求解旅行商问题的近似算法,当然参考文献也相应更新。
第3版新增约70道习题,其中涉及算法谜题和面试问题。
读者所需的知识背景
本书假定读者已经学习了离散数学的标准课程和一门基础性的编程课程。有了这样的知识背景,读者应该能够掌握本书的内容而不会遇到太大的困难。尽管如此,1.4节、附录A和附录B仍然对基本的数据结构,必须用到的求和公式和递推关系分别进行了复习和回顾。只有3个小节(2.2节、11.4节和12.4节)会用到一些简单的微积分知识,如果读者缺少必要的微积分知识,完全可以跳过这3个涉及微积分的小节,这并不会妨碍对本书其余部分的理解。


         [1] 译注:George Forsythe认为,在这些工具当中,最重要的三项依次是自然语言、数学和计算机科学。

 

进度安排
如果打算开设一门围绕算法设计技术来讲解算法设计和分析理论的基础课程,可以采用本书作为教材。但要想在一个学期内完成该课程,本书涵盖的内容可能过于丰富了。大体上来说,跳过第3~12章的部分内容不会影响读者对后面部分的理解。本书的任何一个部分都可以安排学生自学。尤其是2.6节和2.7节,它们分别介绍了经验分析和算法可视化,这两小节的内容可以结合练习布置给学生。
下面给出了一种针对一个学期课程的教学计划,这是按照40课时的集中教学来设计的。
 

 
 
 
1
课程简介
1.1~1.3
2,3
分析框架;符号
2.1,2.2
4
非递归算法的数学分析
2.3
5,6
递归算法的数学分析
2.4,2.5(+附录B)
7 
蛮力算法
3.1,3.2(+3.3)
8
穷举查找
3.4
9
深度优先查找和广度优先查找
3.5
10~11
减一算法:插入排序、拓扑排序
4.1,4.2
12
折半查找和其他减常量算法
4.4
13
减变量算法
4.5
14~15
分治法:合并排序、快速排序
5.1~5.2
16
其他分治法示例
5.3、5.4或5.5
16 
减变量算法
5.6
17~19
实例化简:预排序、高斯消去法、平衡查找树
6.1~6.3
20
改变表现:堆和堆排序
6.4或
或者霍纳法则和二进制幂
6.5
21
问题化简
6.6
22~24
时空权衡:串匹配、散列法、B树 
7.2~7.4
25~27
动态规划算法
8.1~8.4(选3节)
28~30
贪婪算法:Prim算法、Kruskal算法、Dijkstra算法、哈夫曼算法
9.1~9.4
31~33
迭代改进算法
10.1~10.4(选3节)
34
下界的参数
11.1
35
决策树
11.2
36
PNPNP完全问题
11.3
37
数值算法<

商品标签

购买记录(近期成交数量0)

还没有人购买过此商品
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha