算法设计与分析基础

算法设计与分析基础
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
2013-05
版次: 3
ISBN: 9787302311850
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 596页
正文语种: 英语
原版书名: Introduction to the Design and Analysis of Algorithms
98人买过
  •   《算法设计与分析基础 (第3版)(影印版)》在讲述算法设计技术时采用了新的分类方法,在讨论分析方法时条分缕析,形成了连贯有序、耳目一新的风格。为便于学生掌握,本书涵盖算法入门课程的全部内容,更注重对概念(而非形式)的理解。书中通过一些流行的谜题来激发学生的兴趣,帮助他们加强和提高解决算法问题的能力。每章小结、习题提示和详细解答,形成了非常鲜明的教学特色。
      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 ?”
    New to the Third Edition xvii
    Preface xix
    1Introduction 
    1.1 What Is an Algorithm? 
    Exercises 1.1 
    1.2 Fundamentals of Algorithmic Problem Solving 
    Understanding the Problem 
    Ascertaining the Capabilities of the Computational Device 
    Choosing between Exact and Approximate Problem Solving 
    Algorithm Design Techniques 
    Designing an Algorithm and Data Structures 
    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 
    Exerises 1.4 
    Summary 
    2 Fundamentals of the Analysis of Algorithm Efficiency 
    2.1 The Analysis Framework 
    Measuring an Input's Size 
    Units for Measuring Running Time 
    Orders of Growth 
    Worst-Case, Best-Case, and Average-Case Efficiencies 
    Recapitulation of the Analysis Framework 
    Exercises 2.1 
    2.2 Asymptotic Notations and Basic Efficiency Classes 
    Informal Introduction 
    O-notation 
    -notation 
    -notation 
    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: Computing the nth Fibonacci Number 
    Exercises 2.5 
    2.6 Empirical Analysis of Algorithms 
    Exercises 2.6 
    2.7 Algorithm Visualization 
    Summary 
    3 Brute Force and Exhaustive Search 
    3.1 Selection Sort and Bubble Sort 
    Selection Sort 
    Bubble Sort 
    Exercises 3.1 
    3.2 Sequential Search and Brute-Force String Matching 
    Sequential Search 
    Brute-Force String Matching 
    Exercises 3.2 
    3.3 Closest-Pair and Convex-Hull Problems by Brute Force 
    Closest-Pair Problem 
    Convex-Hull Problem 
    Exercises 3.3 
    3.4 Exhaustive Search 
    Traveling Salesman Problem 
    Knapsack Problem 
    Assignment Problem 
    Exercises 3.4 
    3.5 Depth-First Search and Breadth-First Search 
    Depth-First Search 
    Breadth-First Search 
    Exercises 3.5 
    Summary 
    4 Decrease-and-Conquer 
    4.1 Insertion Sort 
    Exercises 4.1 
    4.2 Topological Sorting 
    Exercises 4.2 
    4.3 Algorithms for Generating Combinatorial Objects 
    Generating Permutations 
    Generating Subsets 
    Exercises 4.3 
    4.4 Decrease-by-a-Constant-Factor Algorithms 
    Binary Search 
    Fake-Coin Problem 
    Russian Peasant Multiplication 
    Josephus Problem 
    Exercises 4.4 
    4.5 Variable-Size-Decrease Algorithms 
    Computing a Median and the Selection Problem 
    Interpolation Search 
    Searching and Insertion in a Binary Search Tree 
    The Game of Nim 
    Exercises 4.5 
    Summary 
    5 Divide-and-Conquer 
    5.1 Mergesort 
    Exercises 5.1 
    5.2 Quicksort 
    Exercises 5.2 
    5.3 Binary Tree Traversals and Related Properties 
    Exercises 5.3 
    5.4 Multiplication of Large Integers and
    Strassen's Matrix Multiplication 
    Multiplication of Large Integers 
    Strassen's Matrix Multiplication 
    Exercises 5.4 
    5.5 The Closest-Pair and Convex-Hull Problems
    by Divide-and-Conquer 
    The Closest-Pair Problem 
    Convex-Hull Problem 
    Exercises 5.5 
    Summary 
    6 Transform-and-Conquer 
    6.1 Presorting 
    Exercises 6.1 
    6.2 Gaussian Elimination 
    LU Decomposition 
    Computing a Matrix Inverse 
    Computing a Determinant 
    Exercises 6.2 
    6.3 Balanced Search Trees 
    AVL Trees 
    2-3 Trees 
    Exercises 6.3 
    6.4 Heaps and Heapsort 
    Notion of the Heap 
    Heapsort 
    Exercises 6.4 
    6.5 Horner's Rule and Binary Exponentiation 
    Horner's Rule 
    Binary Exponentiation 
    Exercises 6.5 
    6.6 Problem Reduction 
    Computing the Least Common Multiple 
    Counting Paths in a Graph 
    Reduction of Optimization Problems 
    Linear Programming 
    Reduction to Graph Problems 
    Exercises 6.6 
    Summary 
    7 Space and Time Trade-Offs 
    7.1 Sorting by Counting 
    Exercises 7.1 
    7.2 Input Enhancement in String Matching 
    Horspool's Algorithm 
    Boyer-Moore Algorithm 
    Exercises 7.2 
    7.3 Hashing 
    Open Hashing (Separate Chaining) 
    Closed Hashing (Open Addressing) 
    Exercises 7.3 
    7.4 B-Trees 
    Exercises 7.4 
    Summary 
    8 Dynamic Programming 
    8.1 Three Basic Examples 
    Exercises 8.1 
    8.2 The Knapsack Problem and Memory Functions 
    Memory Functions 
    Exercises 8.2 
    8.3 Optimal Binary Search Trees 
    Exercises 8.3 
    8.4 Warshall's and Floyd's Algorithms 
    Warshall's Algorithm 
    Floyd's Algorithm for the All-Pairs Shortest-Paths Problem 
    Exercises 8.4 
    Summary 
    9 Greedy Technique 
    9.1 Prim's Algorithm 
    Exercises 9.1 
    9.2 Kruskal's Algorithm 
    Disjoint Subsets and Union-Find Algorithms 
    Exercises 9.2 
    9.3 Dijkstra's Algorithm 
    Exercises 9.3 
    9.4 Huffman Trees and Codes 
    Exercises 9.4 
    Summary 
    10 Iterative Improvement 
    10.1 The Simplex Method 
    Geometric Interpretation of Linear Programming 
    An Outline of the Simplex Method 
    Further Notes on the Simplex Method 
    Exercises 10.1 
    10.2 The Maximum-Flow Problem 
    Exercises 10.2 
    10.3 Maximum Matching in Bipartite Graphs 
    Exercises 10.3 
    10.4 The Stable Marriage Problem 
    Exercises 10.4 
    Summary 
    11 Limitations of Algorithm Power 
    11.1 Lower-Bound Arguments 
    Trivial Lower Bounds 
    Information-Theoretic Arguments 
    Adversary Arguments 
    Problem Reduction 
    Exercises 11.1 
    11.2 Decision Trees 
    Decision Trees for Sorting 
    Decision Trees for Searching a Sorted Array 
    Exercises 11.2 
    11.3 P, NP, and NP-Complete Problems 
    P and NP Problems 
    NP-Complete Problems 
    Exercises 11.3 
    11.4 Challenges of Numerical Algorithms 
    Exercises 11.4 
    Summary 
    12 Coping with the Limitations of Algorithm Power 
    12.1 Backtracking 
    n-Queens Problem 
    Hamiltonian Circuit Problem 
    Subset-Sum Problem 
    General Remarks 
    Exercises 12.1 
    12.2 Branch-and-Bound 
    Assignment Problem 
    Knapsack Problem 
    Traveling Salesman Problem 
    Exercises 12.2 
    12.3 Approximation Algorithms for NP-Hard Problems 
    Approximation Algorithms for the Traveling Salesman Problem 
    Approximation Algorithms for the Knapsack Problem 
    Exercises 12.3 
    12.4 Algorithms for Solving Nonlinear Equations 
    Bisection Method 
    Method of False Position 
    Newton's Method 
    Exercises 12.4 
    Summary 
    Epilogue 
    APPENDIX A
    Useful Formulas for the Analysis of Algorithms 
    Properties of Logarithms 
    Combinatorics 
    Important Summation Formulas 
    Sum Manipulation Rules 
    Approximation of a Sum by a Definite Integral 
    Floor and Ceiling Formulas 
    Miscellaneous 
    APPENDIX B
    Short Tutorial on Recurrence Relations 
    Sequences and Recurrence Relations 
    Methods for Solving Recurrence Relations 
    Common Recurrence Types in Algorithm Analysis 
    References 
    Hints to Exercises 
    Index
  • 内容简介:
      《算法设计与分析基础 (第3版)(影印版)》在讲述算法设计技术时采用了新的分类方法,在讨论分析方法时条分缕析,形成了连贯有序、耳目一新的风格。为便于学生掌握,本书涵盖算法入门课程的全部内容,更注重对概念(而非形式)的理解。书中通过一些流行的谜题来激发学生的兴趣,帮助他们加强和提高解决算法问题的能力。每章小结、习题提示和详细解答,形成了非常鲜明的教学特色。
  • 作者简介:
      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 ?”
  • 目录:
    New to the Third Edition xvii
    Preface xix
    1Introduction 
    1.1 What Is an Algorithm? 
    Exercises 1.1 
    1.2 Fundamentals of Algorithmic Problem Solving 
    Understanding the Problem 
    Ascertaining the Capabilities of the Computational Device 
    Choosing between Exact and Approximate Problem Solving 
    Algorithm Design Techniques 
    Designing an Algorithm and Data Structures 
    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 
    Exerises 1.4 
    Summary 
    2 Fundamentals of the Analysis of Algorithm Efficiency 
    2.1 The Analysis Framework 
    Measuring an Input's Size 
    Units for Measuring Running Time 
    Orders of Growth 
    Worst-Case, Best-Case, and Average-Case Efficiencies 
    Recapitulation of the Analysis Framework 
    Exercises 2.1 
    2.2 Asymptotic Notations and Basic Efficiency Classes 
    Informal Introduction 
    O-notation 
    -notation 
    -notation 
    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: Computing the nth Fibonacci Number 
    Exercises 2.5 
    2.6 Empirical Analysis of Algorithms 
    Exercises 2.6 
    2.7 Algorithm Visualization 
    Summary 
    3 Brute Force and Exhaustive Search 
    3.1 Selection Sort and Bubble Sort 
    Selection Sort 
    Bubble Sort 
    Exercises 3.1 
    3.2 Sequential Search and Brute-Force String Matching 
    Sequential Search 
    Brute-Force String Matching 
    Exercises 3.2 
    3.3 Closest-Pair and Convex-Hull Problems by Brute Force 
    Closest-Pair Problem 
    Convex-Hull Problem 
    Exercises 3.3 
    3.4 Exhaustive Search 
    Traveling Salesman Problem 
    Knapsack Problem 
    Assignment Problem 
    Exercises 3.4 
    3.5 Depth-First Search and Breadth-First Search 
    Depth-First Search 
    Breadth-First Search 
    Exercises 3.5 
    Summary 
    4 Decrease-and-Conquer 
    4.1 Insertion Sort 
    Exercises 4.1 
    4.2 Topological Sorting 
    Exercises 4.2 
    4.3 Algorithms for Generating Combinatorial Objects 
    Generating Permutations 
    Generating Subsets 
    Exercises 4.3 
    4.4 Decrease-by-a-Constant-Factor Algorithms 
    Binary Search 
    Fake-Coin Problem 
    Russian Peasant Multiplication 
    Josephus Problem 
    Exercises 4.4 
    4.5 Variable-Size-Decrease Algorithms 
    Computing a Median and the Selection Problem 
    Interpolation Search 
    Searching and Insertion in a Binary Search Tree 
    The Game of Nim 
    Exercises 4.5 
    Summary 
    5 Divide-and-Conquer 
    5.1 Mergesort 
    Exercises 5.1 
    5.2 Quicksort 
    Exercises 5.2 
    5.3 Binary Tree Traversals and Related Properties 
    Exercises 5.3 
    5.4 Multiplication of Large Integers and
    Strassen's Matrix Multiplication 
    Multiplication of Large Integers 
    Strassen's Matrix Multiplication 
    Exercises 5.4 
    5.5 The Closest-Pair and Convex-Hull Problems
    by Divide-and-Conquer 
    The Closest-Pair Problem 
    Convex-Hull Problem 
    Exercises 5.5 
    Summary 
    6 Transform-and-Conquer 
    6.1 Presorting 
    Exercises 6.1 
    6.2 Gaussian Elimination 
    LU Decomposition 
    Computing a Matrix Inverse 
    Computing a Determinant 
    Exercises 6.2 
    6.3 Balanced Search Trees 
    AVL Trees 
    2-3 Trees 
    Exercises 6.3 
    6.4 Heaps and Heapsort 
    Notion of the Heap 
    Heapsort 
    Exercises 6.4 
    6.5 Horner's Rule and Binary Exponentiation 
    Horner's Rule 
    Binary Exponentiation 
    Exercises 6.5 
    6.6 Problem Reduction 
    Computing the Least Common Multiple 
    Counting Paths in a Graph 
    Reduction of Optimization Problems 
    Linear Programming 
    Reduction to Graph Problems 
    Exercises 6.6 
    Summary 
    7 Space and Time Trade-Offs 
    7.1 Sorting by Counting 
    Exercises 7.1 
    7.2 Input Enhancement in String Matching 
    Horspool's Algorithm 
    Boyer-Moore Algorithm 
    Exercises 7.2 
    7.3 Hashing 
    Open Hashing (Separate Chaining) 
    Closed Hashing (Open Addressing) 
    Exercises 7.3 
    7.4 B-Trees 
    Exercises 7.4 
    Summary 
    8 Dynamic Programming 
    8.1 Three Basic Examples 
    Exercises 8.1 
    8.2 The Knapsack Problem and Memory Functions 
    Memory Functions 
    Exercises 8.2 
    8.3 Optimal Binary Search Trees 
    Exercises 8.3 
    8.4 Warshall's and Floyd's Algorithms 
    Warshall's Algorithm 
    Floyd's Algorithm for the All-Pairs Shortest-Paths Problem 
    Exercises 8.4 
    Summary 
    9 Greedy Technique 
    9.1 Prim's Algorithm 
    Exercises 9.1 
    9.2 Kruskal's Algorithm 
    Disjoint Subsets and Union-Find Algorithms 
    Exercises 9.2 
    9.3 Dijkstra's Algorithm 
    Exercises 9.3 
    9.4 Huffman Trees and Codes 
    Exercises 9.4 
    Summary 
    10 Iterative Improvement 
    10.1 The Simplex Method 
    Geometric Interpretation of Linear Programming 
    An Outline of the Simplex Method 
    Further Notes on the Simplex Method 
    Exercises 10.1 
    10.2 The Maximum-Flow Problem 
    Exercises 10.2 
    10.3 Maximum Matching in Bipartite Graphs 
    Exercises 10.3 
    10.4 The Stable Marriage Problem 
    Exercises 10.4 
    Summary 
    11 Limitations of Algorithm Power 
    11.1 Lower-Bound Arguments 
    Trivial Lower Bounds 
    Information-Theoretic Arguments 
    Adversary Arguments 
    Problem Reduction 
    Exercises 11.1 
    11.2 Decision Trees 
    Decision Trees for Sorting 
    Decision Trees for Searching a Sorted Array 
    Exercises 11.2 
    11.3 P, NP, and NP-Complete Problems 
    P and NP Problems 
    NP-Complete Problems 
    Exercises 11.3 
    11.4 Challenges of Numerical Algorithms 
    Exercises 11.4 
    Summary 
    12 Coping with the Limitations of Algorithm Power 
    12.1 Backtracking 
    n-Queens Problem 
    Hamiltonian Circuit Problem 
    Subset-Sum Problem 
    General Remarks 
    Exercises 12.1 
    12.2 Branch-and-Bound 
    Assignment Problem 
    Knapsack Problem 
    Traveling Salesman Problem 
    Exercises 12.2 
    12.3 Approximation Algorithms for NP-Hard Problems 
    Approximation Algorithms for the Traveling Salesman Problem 
    Approximation Algorithms for the Knapsack Problem 
    Exercises 12.3 
    12.4 Algorithms for Solving Nonlinear Equations 
    Bisection Method 
    Method of False Position 
    Newton's Method 
    Exercises 12.4 
    Summary 
    Epilogue 
    APPENDIX A
    Useful Formulas for the Analysis of Algorithms 
    Properties of Logarithms 
    Combinatorics 
    Important Summation Formulas 
    Sum Manipulation Rules 
    Approximation of a Sum by a Definite Integral 
    Floor and Ceiling Formulas 
    Miscellaneous 
    APPENDIX B
    Short Tutorial on Recurrence Relations 
    Sequences and Recurrence Relations 
    Methods for Solving Recurrence Relations 
    Common Recurrence Types in Algorithm Analysis 
    References 
    Hints to Exercises 
    Index
查看详情
相关图书 / 更多
算法设计与分析基础
算法设计与实践
李雄 周娟
算法设计与分析基础
算法分析与设计实践
王小明
算法设计与分析基础
算法与音乐分析
许琛
算法设计与分析基础
算法设计与问题求解(第2版·微课版)
邓泽林、李峰
算法设计与分析基础
算法竞赛实战笔记
梁博 等
算法设计与分析基础
算法详解(卷4)——NP-Hard问题算法
[美]蒂姆·拉夫加登(Tim Roughgarden)
算法设计与分析基础
算法设计方法与优化(第2版)
滕国文;滕泰
算法设计与分析基础
算法与数据结构(C++语言版)(第2版)
冯广慧
算法设计与分析基础
算法设计与分析基础(Java版)(微课视频版)
李春葆;刘娟;喻丹丹
算法设计与分析基础
算法伦理:社会感知算法设计的科学
Michael Kearns,Aaron Roth
算法设计与分析基础
算法设计实例教程
雷小宇
算法设计与分析基础
算法设计与分析基础(Java版)学习与上机实验指导
李春葆;刘娟;喻丹丹
您可能感兴趣 / 更多
算法设计与分析基础
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
算法设计与分析基础
《世界上最大的肚子》2024百班千人暑期书目学前中班名师推荐全新正版现货速发
[美]雷米·查利普(美)柏顿·萨普瑞
算法设计与分析基础
经济学通义
[美]阿门·A.阿尔钦 (美)威廉·R.艾伦 著;[美]杰里·L.乔丹 编
算法设计与分析基础
数字化领导力 数字化转型锦囊,领导力精进指南 一本书掌握数字化转型领导力之道
[美]艾萨克·萨科里克 著;王磊 译;颉腾文化 出品;邓斌
算法设计与分析基础
法哲学基本原理
[美]马克·C.墨菲
算法设计与分析基础
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
算法设计与分析基础
杜甫传
[美]弗洛伦斯.艾思柯
算法设计与分析基础
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
算法设计与分析基础
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
算法设计与分析基础
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
算法设计与分析基础
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
算法设计与分析基础
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗