menu 简单麦麦
account_circle

简而言之,算法-Algorithms in a Nutshell

帮助2580人找到了他们想要的文件
上传于 2020-02-25 46次下载 3120次围观
文件编号:81
文件详情
标题(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

下载方式
购买后可查看 购买按钮在底部

常见问题

  • question_answer
    解压密码,提取码在哪?
    keyboard_arrow_down
    • 均在下载旁边哦,请注意查看,如果没有则是不需要密码
  • question_answer
    文件不符合描述怎么办?
    keyboard_arrow_down
    • 如果有文件问题,可以通过 卖家联系方式 联系卖家,如果 联系不上卖家 或 卖家无法解决则可以在我的订单页面申请售后
  • question_answer
    其他
    keyboard_arrow_down
    • 3.本文件为公益分享,文件由网上采集而来,如有侵权等问题,请及时联系客服删除
      常见问题及官方客服联系方式:点击前往
      售后问题处理方式:点击前往
-到底部了哦-
微信扫码支付
简而言之,算法-Algorithms in a Nutshell
支付金额: 共计:¥0.0

添加收藏

创建新合集