图书简介
Design and analysis of algorithms can be a difficult subject for students due to its sometimes-abstract nature and its use of a wide variety of mathematical tools. Here the author, an experienced and successful textbook writer, makes the subject as straightforward as possible in an up-to-date textbook incorporating various new developments appropriate for an introductory course.This text presents the main techniques of algorithm design, namely, divide-and-conquer algorithms, greedy algorithms, dynamic programming algorithms, and backtracking. Graph algorithms are studied in detail, and a careful treatment of the theory of NP-completeness is presented. In addition, the text includes useful introductory material on mathematical background including order notation, algorithm analysis and reductions, and basic data structures. This will serve as a useful review and reference for students who have covered this material in a previous course.FeaturesThe first three chapters provide a mathematical review, basic algorithm analysis, and data structures. Detailed pseudocode descriptions of the algorithms along with illustrative algorithms are included. Proofs of correctness of algorithms are included when appropriate. The book presents a suitable amount of mathematical rigor.After reading and understanding the material in this book, students will be able to apply the basic design principles to various real-world problems that they may encounter in their future professional careers.Table of ContentsPreface
1. Introduction and Mathematical Background
2. Algorithm Analysis and Reductions
3. Data Structures
4. Divide-and-Conquer Algorithms
5. Greedy Algorithms
6. Dynamic Programming Algorithms
7. Graph Algorithms
8.
1. Introduction and Mathematical Background. 1.1. Algorithms and Programs. 1.2. Definitions and Terminology. 1.3. Order Notation. 1.4. Mathematical Formulae. 1.5. Probability Theory and Random Variables. 1.6. Notes and References. Exercises. 2. Algorithm Analysis and Reductions. 2.1. Loop Analysis Techniques. 2.2. Algorithms for the 3SUM Problem. 2.3. Reductions. 2.4. Exact Analysis. 2.5. Notes and References. Exercises. 3. Data Structures. 3.1. Abstract Data Types and Data Structures. 3.2. Arrays, Linked Lists and Sets. 3.3. Stacks and Queues. 3.4. Priority Queues and Heaps. 3.6. Hash Tables. 3.7. Notes and References. Exercises. 4. Divide-and-Conquer Algorithms. 4.1. Recurrence Relations. 4.2. The Master Theorem. 4.3. Divide-and-Conquer Design Strategy. 4.4. Divide-and-Conquer Recurrence Relations. 4.5. Binary Search. 4.6. Non-dominated Points. 4.7. Stock Profits. 4.8. Closest Pair. 4.9. Multiprecision Multiplication. 4.10. Modular Exponentiation. 4.11. Matrix Multiplication. 4.12. QuickSort. 4.13. Selection and Median. 4.14. Notes an. d References. Exercises. 5. Greedy Algorithms. 5.1. Optimization Problems. 5.2. Greedy Design Strategy. 5.3. Interval Selection. 5.4. Interval Coloring. 5.5. Wireless Access Points. 5.6. A House Construction Problem. 5.7. Knapsack. 5.8. Coin Changing. 5.9. Multiprocessor Scheduling. 5.10. Stable Matching. 5.11. Notes and References. Exercises. 6 Dynamic Programming Algorithms. 6.1. Fibonacci Numbers. 6.2. Design Strategy. 6.3. Treasure Hunt. 6.4. 0-1 Knapsack. 6.5. Rod Cutting. 6.6. Coin Changing. 6.7. Longest Common Subsequence. 6.8. Minimum Length Triangulation. 6.9. Memoization. 6.10. Notes and References. Exercises. 7. Graph Algorithms. 7.1. Graphs. 7.2. Breadth-first Search. 7.3. Directed Graphs. 7.4. Depth-first Search. 7.5. Strongly Connected Components. 7.6. Eulerian Circuits. 7.7. Minimum Spanning Trees. 7.8. Single Source Shortest Paths. 7.9. All-Pairs Shortest Paths. 7.10. Notes and References. Exercises. 8. Backtracking Algorithms. 8.1. Introduction. 8.2. Generating all Cliques. 8.3. Sudoku. 8.4. Pruning and Bounding Functions. 8.5. 0-1 Knapsack Problem. 8.6. Traveling Salesperson Problem. 8.7. Branch-and-bound. 8.8. Notes and References. Exercises. 9. Intractability and Undecidability. 9.1. Decision Problems and the Complexity Class P. 9.2. Polynomial-time Turing Reductions. 9.3. The Complexity Class NP. 9.4. Polynomial Transformations. 9.5. NP-completeness. 9.6. Proving Problems NP-complete. 9.7. NP-hard Problems. 9.8. Approximation Algorithms. 9.9. Undecidability. 9.10. The Complexity Class EXPTIME. 9.11. Notes and References. Exercises. Bibliography. Index.
Trade Policy 买家须知
- 关于产品:
- ● 正版保障:本网站隶属于中国国际图书贸易集团公司,确保所有图书都是100%正版。
- ● 环保纸张:进口图书大多使用的都是环保轻型张,颜色偏黄,重量比较轻。
- ● 毛边版:即书翻页的地方,故意做成了参差不齐的样子,一般为精装版,更具收藏价值。
关于退换货:
- 由于预订产品的特殊性,采购订单正式发订后,买方不得无故取消全部或部分产品的订购。
- 由于进口图书的特殊性,发生以下情况的,请直接拒收货物,由快递返回:
- ● 外包装破损/发错货/少发货/图书外观破损/图书配件不全(例如:光盘等)
并请在工作日通过电话400-008-1110联系我们。
- 签收后,如发生以下情况,请在签收后的5个工作日内联系客服办理退换货:
- ● 缺页/错页/错印/脱线
关于发货时间:
- 一般情况下:
- ●【现货】 下单后48小时内由北京(库房)发出快递。
- ●【预订】【预售】下单后国外发货,到货时间预计5-8周左右,店铺默认中通快递,如需顺丰快递邮费到付。
- ● 需要开具发票的客户,发货时间可能在上述基础上再延后1-2个工作日(紧急发票需求,请联系010-68433105/3213);
- ● 如遇其他特殊原因,对发货时间有影响的,我们会第一时间在网站公告,敬请留意。
关于到货时间:
- 由于进口图书入境入库后,都是委托第三方快递发货,所以我们只能保证在规定时间内发出,但无法为您保证确切的到货时间。
- ● 主要城市一般2-4天
- ● 偏远地区一般4-7天
关于接听咨询电话的时间:
- 010-68433105/3213正常接听咨询电话的时间为:周一至周五上午8:30~下午5:00,周六、日及法定节假日休息,将无法接听来电,敬请谅解。
- 其它时间您也可以通过邮件联系我们:customer@readgo.cn,工作日会优先处理。
关于快递:
- ● 已付款订单:主要由中通、宅急送负责派送,订单进度查询请拨打010-68433105/3213。
本书暂无推荐
本书暂无推荐