menu 简单麦麦
account_circle

简而言之,算法-Algorithms in a Nutshell文件编号:81

已经帮助了2603人找到了他们想要的文件
上传于 2020年2月25日 16:02
9次下载
1069次围观
评分:4.5/5 ★ ★ ★ ★ ★
标题(title):Algorithms in a Nutshell
简而言之,算法
作者(author):George T. Heineman, Gary Pollice, Stanley Selkow
出版社(publisher):O'Reilly Media
大小(size):12 MB (12938229 bytes)
格式(extension):pdf
注意:如果文件下载完成后为无法打开的格式,请修改后缀名为格式对应后缀


Creating software systems involves more than simply writing a program. It requires creativity and technical excellence. Technical excellence includes the ability to make programs robust and efficient. Efficient algorithms are at the heart of all but the most trivial programs. Programmers, however, seldom think about the algorithms in their programs until they encounter problems. Many programmers do not have a background in algorithm analysis and design and if they do, they don't take the time to find the right algorithm for their needs. Algorithms in a Nutshell helps programmers select, analyze, and implement the right algorithms for their particular needs. It provides just enough mathematics to let the reader understand and analyze algorithm performance. The algorithms in the book are based upon the type of problems they address. Each algorithm is presented in the style of a design pattern - an approach, or plan for how to solve the problem accompanied by the information needed to understand why the algorithm is appropriate, how one might determine why the algorithm is the right one, and implementation tips. This is a major benefit to the reader. Just as design patterns for object-oriented design enable developers to use a common language to describe their designs, we believe that providing a pattern language for algorithms can enable similar communication benefits.

Table of contents :
Copyright......Page 4
Preface......Page 5
I......Page 12
Algorithms Matter......Page 13
Understand the Problem......Page 14
Experiment if Necessary......Page 15
Side Story......Page 19
The Moral of the Story......Page 20
References......Page 21
Size of a Problem Instance......Page 22
Rate of Growth of Functions......Page 24
Analysis in the Best, Average, and Worst Cases......Page 28
Performance Families......Page 32
Mix of Operations......Page 45
Benchmark Operations......Page 46
References......Page 48
Patterns: A Communication Language......Page 49
Algorithm Pattern Format......Page 51
Pseudocode Pattern Format......Page 52
Design Format......Page 53
Empirical Evaluation Format......Page 54
Domains and Algorithms......Page 56
Floating-Point Computations......Page 57
Manual Memory Allocation......Page 60
Choosing a Programming Language......Page 63
References......Page 64
II......Page 65
Overview......Page 66
Insertion Sort......Page 72
Median Sort......Page 76
Quicksort......Page 87
Selection Sort......Page 94
Heap Sort......Page 95
Counting Sort......Page 100
Bucket Sort......Page 102
Criteria for Choosing a Sorting Algorithm......Page 108
References......Page 112
Overview......Page 114
Sequential Search......Page 115
Binary Search......Page 121
Hash-based Search......Page 125
Binary Tree Search......Page 138
Overview......Page 145
Depth-First Search......Page 151
Breadth-First Search......Page 158
Single-Source Shortest Path......Page 162
All Pairs Shortest Path......Page 174
Minimum Spanning Tree Algorithms......Page 178
References......Page 180
Overview......Page 181
Depth-First Search......Page 190
Breadth-First Search......Page 199
A*Search......Page 203
Comparison......Page 213
Minimax......Page 216
NegMax......Page 222
AlphaBeta......Page 226
References......Page 233
Overview......Page 235
Maximum Flow......Page 238
Bipartite Matching......Page 248
Reflections on Augmenting Paths......Page 251
Transshipment......Page 255
Transportation......Page 256
Assignment......Page 257
Linear Programming......Page 258
References......Page 259
Overview......Page 260
Convex Hull Scan......Page 269
LineSweep......Page 277
Nearest Neighbor Queries......Page 289
Range Queries......Page 301
References......Page 307
III......Page 308
Variations on a Theme......Page 309
Offline Algorithms......Page 310
Randomized Algorithms......Page 311
Algorithms That Can Be Wrong, but with Diminishing Probability......Page 318
References......Page 321
Principle: Know Your Data......Page 322
Principle: Decompose the Problem into Smaller Problems......Page 323
Principle: Choose the Right Data Structure......Page 324
Principle: Add Storage to Increase Performance......Page 325
Principle: If No Solution Is Evident, Reduce Your Problem to Another Problem That Has a Solution......Page 326
Principle: Writing Algorithms Is Hard—Testing Algorithms Is Harder......Page 327
IV......Page 329
Statistical Foundation......Page 330
Hardware......Page 331
Reporting......Page 340
Precision......Page 341
Colophon......Page 343


想了解更多信息?可向上传者提问。点击提问
欢迎您上传文件!
费劲心机找到了自己想要的文件?
不如上传简单麦麦!
分享给别人!还能赚取收益
下载须知
1.如有解压密码 提取码都在下面 注意查看
2.如果有问题 可以通过卖家联系方式 联系卖家 如果没有或无法解决可以联系官方客服
3.本文件为公益分享,文件由网上采集而来,如有侵权等问题,请及时联系客服删除

常见问题及官方客服联系方式:点击前往 售后问题处理方式:点击前往
-到底部了哦-
expand_less