算法设计与分析基础(第2版影印版)

算法设计与分析基础(第2版影印版)
作 者: Anany Levitin
出版社: 清华大学出版社
丛编项: 国外经典教材·计算机科学与技术
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 方法
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  (美) Anany Levitin是Villanova大学计算科学系的教授。他的论文A New Road Map of Algorithm Design Techniques:Picking Up Where the Traditi。onal Classification Leaves Off(《算法设计技术新途径:弥补传统分类法的缺·感》)受到业内人士极高的评价。在SIGCSE会议上,作者做过多次关于算法教学的演讲。

内容简介

本书采用了一种算法设计技术的新分类方法,不但比传统分类法包容性更强,而且更直观,也更有效,因此广受好评。 这种分类框架条理清晰,契合教育学原理,非常适合算法教学。网上提供了详尽的教学指南供教师和学生下载,书中还为学生安排了习题提示和每章小结。为r提高学习兴趣,书中应用了许多流行的谜题和游戏,需要重点思考的地方则往往会用反问来提醒注意。 第2版特色:★添加180个新的谜题和习题★分不同的小节来分析递归算法和非递归算法★包含算法的经验分析和算法可视化★对近似算法部分进行了修订★新增讨论迭代改进算法的章节,内容覆盖单纯形法、网络流量、二分图的最大匹配以及稳定婚姻问题

图书目录

Preface

1 Introduction

 1.1 What is an Algorithm?

 Exercises 1.1

 1.2 Fundamentals of Algorithmic Problem Solving

  Understanding the Problem

  Ascertaining the Capabilities of a Computational Device

  Choosing between Exact and Approximate Problem Solving

  Deciding on Appropriate Data Structures

  Algorithm Design Techniques

  Methods of Specifying an Algorithm

  Proving an Algorithm's Correctness

  Analyzing an Algorithm

  Coding an Algorithm

  Exercises 1.2

 1.3 Important Problem Types

  Sorting

  Searching

  String Processing

  Graph Problems

  Combinatorial Problems

  Geometric Problems

  Numerical Problems

  Exercises 1.3

 1.4 Fundamental Data Structures

  Linear Data Structures

  Graphs

  Trees

  Sets and Dictionaries

  Exercises 1.4

  Summary

2 Fundamentals of the Analysis of Algorithm Efficiency

 2.1 Analysis Framework

  Measuring an Input's Size

  Units for Measuring Running -[]me

  Orders of Growth

  Worst-Case, Best-Case, and Average-Case Efficlencies

  Recapitulation of the Analysis Framework

  Exercises 2.1

 2.2 Asymptotic Notations and Basic Efficiency Classes

  Informal Introduction

  O-notation

  9-notation

  Onotation

  Useful Property Involving the Asymptotic Notations

  Using Limits for Comparing Orders of Growth

  Basic Efficiency Classes

  Exercises 2.2

  2.3 Mathematical Analysis of Nonrecursive Algorithms

  Exercises 2.3

  2.4 Mathematical Analysis of Recursive Algorithms

  Exercises 2.4

  2.5 Example: Fibonacci Numbers

  Explicit Formula for the nth Fibonacci Number

  Algorithms for Computing Fibonacci Numbers

  Exercises 2.5

3 Brute Force

4 Divide-and-Conquer

5 Decrease-and-Conquer

6 Transform-and-Conquer

7 Space and lime Tradeoffs

8 Dynamic Programming

9 Greedy Technique

10 Iterative Improvement

11 Limitations of Algorithm Power

12 Coping with the Limitations of Algorithm Power

Epilogue

APPENDIX A

Useful Formulas for the Analysis of Algorithms

APPENDIX B

Short Tutorial on Recurrence Relations

Bibliography

Hints to Exercises

Index