精华内容
下载资源
问答
  • 算法设计技巧与分析

    热门讨论 2016-04-26 21:49:18
    算法设计技巧与分析》是国际著名算法专家李德财教授主编的系列丛书Lecture Notes Series on Computing中的一本。《算法设计技巧与分析》涵盖了绝大多数算法设计中的一般技术,在表达每一种技术时,阐述它的应用...
  • 李春葆 算法设计与分析(第2版)课件 、习题答案、书中全部源代码。第1章 概述 第2章 递归算法设计技术 第3章 分治法 第4章 蛮力法 第5章 回溯法 第6章 分枝限界法 第7章 贪心法 第8章 动态规划 第9章 图算法设计 第...
  • Jon Kleinberg,Eva Tardos著,张立昂,屈婉玲译,清华大学出版社。
  • 算法设计手册

    热门讨论 2012-06-14 19:39:03
    算法设计手册是The.Algorithm.Design.Manual,.2ed),.Skiena,的文字版,很难得,对于一个高级程序员。架构和设计一个项目的启发和帮助很大。
  • 目前互联网上的中文答案不是最新版的,题目不全,包括百度文库中的,这个虽然是英文的,但是比较齐全。
  • 《计算机算法设计与分析(第4版)》是普通高等教育“十一五”国家级规划教材和国家精品课程教材。全书以算法设计策略为知识单元,系统介绍计算机算法的设计方法与分析技巧。主要内容包括:算法概述、递归与分治策略、...
  • 算法设计与分析

    2021-05-18 22:55:07
    课程内容包括:算法设计和分析的基本概念、算法的渐进分析、递归方程的求解、各自算法设计策略(如蛮力法/穷举法、状态空间搜索、回溯和分支限界、分治递归、贪心法、动态规划等),对每种算法设计方法都选取了典型...
  • 算法设计技巧与分析 答案整理

    万次阅读 多人点赞 2020-01-06 19:50:49
    算法设计技巧与分析(沙特版)》 这书答案真难找啊… 东拼西凑薅出这么些 文章目录第1章 算法分析基本概念1.41.51.71.91.111.131.141.161.171.251.271.311.321.331.371.38第2章 数学预备知识2.102.16第3章 数据...

    《算法设计技巧与分析(沙特版)》
    这书答案真难找啊…
    东拼西凑薅出这么些

    https://wenku.baidu.com/view/279b9245561252d380eb6ea4.html
    https://wenku.baidu.com/view/af57e4f5b4daa58da1114a4b.html?rec_flag=default
    还有几个文档



    第1章 算法分析基本概念

    1.4

    算法执行了7+6+5+4+3+2+1=28次比较
    在这里插入图片描述

    1.5

    (a) 算法MODSELECTIONSORT执行的元素赋值的最少次数是0,按非降序排列时候达到最小值
    (b) 算法MODSELECTIONSORT执行的元素赋值的最多次数是

    按非升序排列时候达到最小值,按降序排列时达到最大

    1.7

    在这里插入图片描述
    由上图可以看到算法INSERTIONSORT执行的比较次数为1+1+2+2+2+6+2=16

    1.9

    1.11

    在这里插入图片描述
    由上图可以得出比较次数为5+6+6+9=26次

    1.13

    FTF,TTT,FTF,TFF,FTF

    1.14

    1.16

    在这里插入图片描述

    1.17

    1.25

    1.27

    在这里插入图片描述

    1.31

    1.32

    在这里插入图片描述

    1.33

    1.37

    1.38

    对n个数进行排列。


    第2章 数学预备知识

    2.10

    2.16

    2.18

    2.19

    2.20


    第3章 数据结构


    第4章 堆和不相交集数据结构

    4.13


    第5章 归纳法

    5.3

    在这里插入图片描述

    5.6

    5.7

    参看例5.1

    5.8

    5.12

    5.14

    (a)不稳定
    (b)©(d)(f)稳定

    5.33


    第6章 分治

    6.3

    6.5

    令解:

    6.6

    6.10

    6.16

    6.31

    6.35

    6.36

    6.42

    b是稳定的算法
    c不是稳定的算法

    6.43

    bcefg均为适应的
    ah不是适应的

    6.52

    算法可参考寻找中相(第k小元素)构造

    6.53

    用反例说明(4个顶点即可)。形状为普通的生成树

    6.54


    第7章 动态规划

    7.1

    ( c ) 算法BOTTOMUPSORT

    7.3

    7.5

    字符串A=”xzyzzyx”和B=”zxyyzxz”的最长公共子序列长度为4,共有6个最长公共子序列,分别是:①zyyx ②zyzz ③zyzx ④xyyx ⑤xyzz ⑥xyzx

    7.9

    C[1,5]=C[1,1]+C[2,5]+r[1]*r[2]*r[6]=307
    C[1,5]=C[1,2]+C[3,5]+r[1]*r[3]*r[6]=252
    C[1,5]=C[1,3]+C[4,5]+r[1]*r[4]*r[6]=372
    C[1,5]=C[1,4]+C[5,5]+r[1]*r[5]*r[6]=260
    所以最优括号表达式为(M1M2)((M3M4)M5)

    7.15

    7.21

    7.23

    结果是溢出

    7.26

    7.30

    7.34


    第8章 贪心算法

    8.5

    8.12

    由算法从s到t要选择先到a然后到t,其结果为4,而从s到t距离为2,所以探索不总是产生从s到t的距离

    8.16

    8.23

    解一:

    8.24

    8.23与8.24答案均不唯一

    8.31

    每一个二叉树都取左边为0,右边为1
    则最优编码为
    a:010
    b:001
    c:0001
    d:0000
    e:1
    f:011
    注意:编码不唯一


    第9章 图的遍历

    9.3

    参照例9.1

    9.5

    更改算法9.1的dfs(v)过程即可

    9.7

    9.14

    9.15

    9.17


    第10章 NP完全问题

    10.3

    修改深度优先算法即可

    10.5

    10.9

    10.19

    10.22


    第13章 回溯法

    13.2

    13.3

    13.6

    修改3着色问题的递归算法,或者4皇后算法即可

    13.10

    13.12

    判定子集和问题。题目要求判定是否存在,不是枚举全部

    13.17

    使用分支限界法

    13.21

    (i,j)对应(1,3) (2,4) (3,1) (4,2) bound=13


    第14章 随机算法

    14.2 14.3 14.4

    14.7

    14.8

    14.10

    14.16


    第15章 近似算法

    15.6 15.10 15.12 15.27


    第16章 网络流

    16.4 16.5 16.6 16.15


    第17章 匹配

    17.1 17.2 17.3 17.7 17.9

    展开全文
  • 算法设计与分析基础(第3版)原版

    热门讨论 2014-09-09 10:05:46
    算法设计与分析基础(第3版 版) (美)Anany Levitin 著 基础资源,自学资源
  • 算法设计与分析 (知识点总结)

    千次阅读 多人点赞 2021-03-03 23:08:42
    算法设计与分析 目录算法设计与分析前言第一章 算法基础1.1 算法概述1.2 算法分析 前言     通过学习掌握算法设计的主要方法,对算法的时、空复杂性有正确分析的能力,能够针对具体的应用问题选择合适的数据结构...

    算法设计与分析

    前言

        通过学习掌握算法设计的主要方法,对算法的时、空复杂性有正确分析的能力,能够针对具体的应用问题选择合适的数据结构并设计结构清晰、正确有效的算法,为独立设计算法和对算法进行复杂性分析奠定坚实的理论基础。

    第一章 算法基础

    1.1 算法概述

    1.什么是算法?
        算法(algorithm):算法是对特定问题求解步骤的描述,是指令的有限序列。就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。
    2.算法的五个特征

    • 输入:算法有零个或多个输入量;
    • 输出:算法至少产生一个输出量;
    • 确定性:算法的每一条指令都有确切的定义,没有二义性;
    • 可行性:算法的每一条指令必须足够基本,它们可以通过已经实现的基本运算执行有限次来实现;
    • 有穷性:算法必须执行有限步之后终止。

    3.问题和问题求解
        问题求解:寻找一种方法来实现目标。
        问题求解过程:人们通过使用问题领域知识来理解和定义问题,并凭借自身的经验和知识求选择和使用适当的问题求解策略、技术和工具,将一个问题描述转换成问题解的过程。
        计算机求解问题的关键之一是寻找一种问题求解策略得到求解问题的算法,从而得到问题的解。
    4.问题求解过程

    • 理解问题
    • 设计方案
    • 实现方案
    • 回顾复查

    1.2 算法分析

    1.算法问题求解过程
    在这里插入图片描述
    2.算法分类
        精确算法总能保证求得问题的解。
        启发式算法通过使用某种规则、简化或智能猜测来减少问题求解时间。
        对于最优化问题,一个算法如果致力于寻找近似解而不是最优解,被称为近似算法
        如果在算法中需要做出某些随机选择,则称为随机算法
    3.算法设计

    • 计算机的问题求解策略主要指算法设计策略。
    • 如果所求问题符合某种算法设计策略处理问题的特性,就可使用该算法设计策略设计算法、求解问题。

    4.算法表示

    算法描述方法

    • 自然语言
    • 流程图
    • 伪代码
    • 程序设计语言
    • 使用c/c++语言描述

    5.算法确认

    • 算法确认:确认一个算法是否正确的活动。
    • 算法证明:使用数学方法证明算法的正确性。
    • 程序测试:是指对程序模块或程序总体,输入事先准备好的样本数据(称为测试用例),检查该程序的输出,来发现程序存在的错误及判定程序是否满足其设计要求和活动。

    6.算法分析

    • 算法分析:对算法的执行时间和所需空间的估量。(时间复杂度和空间复杂度)
    • 程序的性能测量:使用样本数据,实际测量一个程序所消耗的时间和空间。

    1.3 算法复杂度

    1.什么是好的算法

        一个好的算法应具备以下4个重要特性:

    • 正确性:算法的执行结果应当满足预先规定的功能和性能要求。
    • 简明性:算法要思路清晰、层次分明、容易理解、利于编码和调试。
    • 高效性:算法要有效使用存储空间,并具有高的时间效率。
    • 最优性:算法的执行时间已达到求解该类问题所需时间的下界。

        程序健壮性:是指当输入不合法数据时,程序可以做适当处理而不至于引起严重后果。 其含义是:当程序万一遇到意外时,能按某种预定方式作出适当处理。

        正确性和健壮性是相互补充的。

    2.影响程序时间的因素

        影响程序运行时间的因素主要有:

    • 程序所依赖的算法;

    • 问题规模和输入数据;

    • 计算机系统性能
      3.算法的时间复杂度

    • 抽象机模型
          设抽象机提供由m个基本运算组成的运算集O={O1,O2,…,Om},每个运算都是元运算(运算亦称演算,数学的基本概念之一,指使的一些计算规则,算术中有加、减、乘、除、乘方、开方六种运算,其中加、减、乘、除是从两个已知数得出第三个数的运算,称为二元运算;乘方、开方是从一个已知数得出另一个数的运算,称为一元运算)。 它们的执行时间是有限常量。设执行第i个运算Oi所需的时间是αi,1≤i≤m。
      一个算法给定一个输入并在抽象机上执行一次,该执行过程表现为执行一个基本运算序列

    • 时间复杂度
          算法的时间复杂度是指算法运行所需的时间。
          设有一个在抽象机上运行的算法A,I是某次运行时的输入数据,其规模为n,则算法A的运行时间T是n和I的函数,记做T(n,I)。又设在该次运算中抽象机的第i个基本运算Oi的执行次数为βi,1≤i≤m。βi也是n和I的函数,记做βi(n,I)。那么算法A在输入为I时的运行时间是:
      在这里插入图片描述

    • 最好、最坏和平均时间复杂度:

    • 最好时间复杂度
      在这里插入图片描述

    • 最坏时间复杂度
      在这里插入图片描述

    • 平均时间复杂度(与概率论中的数学期望概念类似,在概率论和统计学中,期望值(或数学期望、或均值,亦简称期望,物理学中称为期待值)是指在一个离散性随机变量试验中每次可能结果的概率乘以其结果的总和。换句话说,期望值是随机试验在同样的机会下重复多次的结果计算出的等同“期望”的平均值。
      在这里插入图片描述
      4.算法分析

    • 事前分析:在算法实际运行前分析算法的效率。

    • 事后测试:运行程序来测试一个程序在所输入数据下实际运行的时间。

    • 程序步:在语法或语义上有意义的程序段,该程序段的执行时间必须与问题实例的规模无关。

    • 实例
      在这里插入图片描述
      5.算法的空间复杂度

    • 算法的空间复杂度:算法运行所需的存储空间

    • 程序运行所需的存储空间包括以下两个部分:

    • 固定空间需求:这部分空间与所处理数据的大小和个数无关,即与问题实例的特征无关。

    • 可变空间需求:这部分空间大小与算法在某次执行中处理的特定数据的规模有关。

    1.4 渐近表示法

    1.大O记号
        定义:设函数f(n)和g(n)是定义在非负整数集合上的正函数,如果存在两个正常数c和n0,使得当n≥n0时,有f(n)≤cg(n),则记做f(n)=O(g(n)),称为大O记号。
        意义:该算法的运行时间 不会超过 g(n)的某个常数倍。 g(n)是该算法运行时间的上界。
    在这里插入图片描述

    • 渐进时间复杂度
          使用大O记号及下面定义的几种渐近表示法表示的算法时间复杂度,称为算法的渐近时间复杂度。
          只要适当选择关键操作,算法的渐近时间复杂度可以由关键操作的执行次数之和来计算。一般地,关键操作的执行次数与问题的规模有关,是n的函数。
      在这里插入图片描述

    2.Ω 记号
        定义:设有函数f(n)和g(n)是定义在非负整数集合上的正函数,如果存在两个正常数c和n0,使得当n≥n0时,有f(n)≥cg(n),则记做f(n)=Ω (g(n)),称为Ω记号。
        意义:该算法至少需要g(n)的某个常数倍大小的时间量。g(n)是该算法运行时间的下界
    例题1:
    在这里插入图片描述
    例题2:
    在这里插入图片描述
    3.Θ记号
        定义:设有函数f(n)和g(n)是定义在非负整数集合上的正函数,如果存在正常数c1,c2和n0,使得当n≥n0时,有c1g(n)≤f(n)≤c2g(n),则记做f(n)=Θ(g(n)),称为Θ记号。
        意义:该算法实际运行时间大约为g(n)的某个常数倍大小的时间量。(有上界也有下界)
    例题1:
    在这里插入图片描述
    4.小o记号
        定义:f(n)=o(g(n))当且仅当f(n)=O(g(n))且f(n)≠ Ω(g(n))
        意义:该算法的运行时间f(n)的阶比g(n)低。

    5.算法按时间复杂度分类

    • 算法按计算时间分类
          渐近时间复杂度有多项式时间限界的算法称做多项式时间算法。
          渐近时间复杂度为指数函数限界的算法称做指数时间算法。

    • 最常见的多项式时间算法的渐近时间复杂度
          O(1)<O(log n)<O(n)<O(nlog n)<O(n2)<O(n3)

    • 最常见的指数时间算法的渐近时间复杂度
           O(2n)<O(n!)<O(nn)
      在这里插入图片描述

    第二章 分治法

    展开全文
  • 我们在《排序算法》系列的开头介绍了几种能在O(nlg⁡n)O(n\lg n)O(nlgn)时间内排序nnn个数的算法。归并排序和堆排序达到了最坏情况下的上界;快速排序在平均情况下达到该上界。而且,对于这些算法中的每个,我们都能...

    分类目录:《算法设计与分析》总目录
    相关文章:
    · 排序算法(一):插入排序
    · 排序算法(二):归并排序
    · 排序算法(三):堆排序
    · 排序算法(四):选择排序
    · 排序算法(五):冒泡排序
    · 排序算法(六):希尔排序
    · 排序算法(七):快速排序
    \qquad · ①基础知识
    \qquad · ②快速排序的性能
    \qquad · ③快速排序的随机化
    \qquad · ④快速排序的分析
    · 排序算法(八):计数排序
    · 排序算法(九):基数排序
    · 排序算法(十):桶排序
    · 排序算法:比较排序算法的下界
    · 排序算法:十大排序算法总结


    我们在《排序算法》系列的开头介绍了几种能在 O ( n lg ⁡ n ) O(n\lg n) O(nlgn)时间内排序 n n n个数的算法。归并排序和堆排序达到了最坏情况下的上界;快速排序在平均情况下达到该上界。而且,对于这些算法中的每个,我们都能给出 n n n个输入数值,使得该算法能在 Ω ( n lg ⁡ n ) \Omega(n\lg n) Ω(nlgn)时间内完成。

    《排序算法》的1-7节的算法都有一个有趣的性质:在排序的最终结果中,各元素的次序依赖于它们之间的比较。我们把这类排序算法称为比较排序

    下文将证明对包含 n n n个元素的输入序列来说,任何比较排序在最坏情况下都要经过 Ω ( n lg ⁡ n ) \Omega(n\lg n) Ω(nlgn)次比较。因此,归并排序和堆排序是渐近最优的,并且任何已知的比较排序最多就是在常数因子上优于它们。

    《排序算法》的第8节开始,我们讨论了三种线性时间复杂度的排序算法:计数排序、基数排序和桶排序。当然,这些算法是用运算而不是比较来确定排序顺序的。因此,下界 Ω ( n lg ⁡ n ) \Omega(n\lg n) Ω(nlgn)对它们是不适用的。

    在一个比较排序算法中,我们只使用元素间的比较来获得输入序列 [ a 1 , a 2 , ⋯   , a n ] [a_1, a_2, \cdots, a_n] [a1,a2,,an]的元素间次序的信息。也就是说,给定两个元素 a i a_i ai a j a_j aj,可以执行 a i < a j a_i<a_j ai<aj a i ≤ a j a_i\leq a_j aiaj a i = a j a_i=a_j ai=aj a i > a j a_i>a_j ai>aj a i ≥ a j a_i\geq a_j aiaj中的一个比较操作来确定它们之间的相对次序。我们不能用其他方法观察元素的值或者它们之间的次序信息。

    不失一般性,在本文中,我们不妨假设所有的输入元素都是互异的。给定了这个假设后 a i = a j a_i=a_j ai=aj的比较就没有意义了。因此,我们可以假设不需要这种比较。同时,注意到 a i < a j a_i<a_j ai<aj a i ≤ a j a_i\leq a_j aiaj a i > a j a_i>a_j ai>aj a i ≥ a j a_i\geq a_j aiaj都是等价的,因为通过它们所得到的关于 a i a_i ai a j a_j aj的相对次序的信息是相同的。这样,又可以进一步假设所有比较采用的都是 a i ≤ a j a_i\leq a_j aiaj形式。

    决策树模型

    比较排序可以被抽象为一棵决策树。决策树是一棵完全二叉树,它可以表示在给定输入规模情况下,某一特定排序算法对所有元素的比较操作。其中,控制、数据移动等其他操作都被忽略了。下图显示了《排序算法(一):插入排序》中插入排序算法作用于包含三个元素的输入序列的决策树情况。
    插入排序决策树
    在决策树中,每个内部结点都以 i : j i:j i:j标记,其中, i i i j j j满足 1 ≤ i 1\leq i 1i j ≤ n j\leq n jn, n n n是输入序列中的元素个数。每个叶结点上都标注一个序列 π ( 1 ) , π ( 2 ) , ⋯   , π ( n ) \pi (1), \pi(2), \cdots, \pi(n) π(1),π(2),,π(n)。排序算法的执行对应于一条从树的根结点到叶结点的路径。每一个内部结点表示一次比较 a i ≤ a j a_i\leq a_j aiaj,左子树表示一旦我们确定 a i ≤ a j a_i\leq a_j aiaj之后的后续比较,右子树则表示在确定了 a i > a j a_i>a_j ai>aj后的后续比较。当到达一个叶结点时,表示排序算法已经确定了一个顺序 a π ( 1 ) ≤ a π ( 2 ) ≤ ⋯ a π ( n ) a_{\pi (1)}\leq a_{\pi(2)}\leq\cdots a_{\pi(n)} aπ(1)aπ(2)aπ(n)。因为任何正确的排序算法都能够生成输入的每一个排列,所以对一个正确的比较排序算法来说, n n n个元素的 n ! n! n!种可能的排列都应该出现在决策树的叶结点上。而且,每一个叶结点都必须是可以从根结点经由某条路径到达的,该路径对应于比较排序的一次实际执行过程。因此,在后续内容中,我们将只考虑每一种排列都是一个可达的叶结点的决策树。

    最坏情况的下界

    在决策树中,从根结点到任意一个可达叶结点之间最长简单路径的长度,表示的是对应的排序算法中最坏情况下的比较次数。因此,一个比较排序算法中的最坏情况比较次数就等于其决策树的高度。同时,当决策树中每种排列都是以可达的叶结点的形式出现时,该决策树高度的下界也就是比较排序算法运行时间的下界。所以我们可得:在最坏情况下,任何比较排序算法都需要做 Ω n lg ⁡ n \Omega n\lg n Ωnlgn次比较。而本系列介绍的堆排序(《排序算法(三):堆排序》)和归并排序(《排序算法(二):归并排序》)都是渐近最优的比较排序算法。

    展开全文
  • 本书《计算机算法设计与分析 第4版 (王晓东) 课后答案[1-9章]》为完整版。打开即可观看。 链接:https://pan.baidu.com/s/1c1slpOY1GQdnfIE4a_Sn_Q 提取码:8fz4

    本书《计算机算法设计与分析 第4版 (王晓东) 课后答案[1-9章]》为完整版。打开即可观看。

    链接在文末
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    展开全文
  • 算法设计与分析学习总结

    千次阅读 多人点赞 2019-12-11 01:27:04
    算法设计与分析学习总结 通过对《算法设计与分析》这门课的学习,似乎对算法有了一定的了解,之前对算法并没有太多的接触,只是一些普通的编程。选课的时候,觉得特别有意思,就选了这门课,通过学习各类算法,有了...
  • 算法设计与分析学习心得

    千次阅读 2020-06-23 22:13:14
    计算机算法设计与分析主要通过介绍常见的算法设计策略及复杂性分析方法,培养学生分析问题和解决问题的能力,为开发高效的软件系统及参加相关领域的研究工作奠定坚实的基础。该课程理论与实践并重,内容具有综合性、...
  • 算法设计与分析部分答案

    热门讨论 2012-11-03 21:12:06
    算法设计与分析(屈婉玲版)主要有分治算法,动态规划,贪心算法等部分习题与答案详解。
  • 算法设计与分析期末复习题

    千次阅读 多人点赞 2020-12-10 22:22:27
    由此设计出解Hanoi塔问题的递归算法正确的为:(B) 4. 算法分析中,记号O表示(B ), 记号 表示(A ), 记号 表示(D)。 A.渐进下界 B.渐进上界 C.非紧上界 D.紧渐进界 E.非紧下界 以下关于渐进记号的性质是...
  • 算法设计与分析重点总结

    千次阅读 多人点赞 2021-01-02 20:26:23
    有限性 一个算法总是在执行了有穷步的运算之后终止 确定性:算法的每种运算必须要有确切的定义,不能有二义性。 输入:每个算法有0个或多个输入。所谓0个输入是指算法本身定出了初始条件。 输出:一个算法产生一...
  • 排序算法我们已经通过前序文章全部详细说明了,值的一提的是,我们说述的排序算法都指代的是内部排序算法。而实际上,排序算法可以分为内部排序和外部排序。内部排序是数据记录在内存中进行排序,而外部排序是因排序...
  • 算法设计经典算法

    万次阅读 2018-12-04 10:35:37
    一、贪婪算法 1、概述 贪婪法又称贪心算法,是当追求的目标是一个问题的最优解时,设法把对整个问题的求解工作分成若干步骤来完成,是寻找最优解问题的常用方法。 贪婪法的特点是一般可以快速得到满意的解,因为...
  • 堆排序引入了另一种算法设计技巧:使用一种我们称为“堆”的数据结构来进行信息管理。堆不仅用在堆排序中,而且它也可以构造一种有效的优先队列。在后续的章节中,我们还将多次在算法中引入堆。 虽然“堆”这一词...
  • 算法设计与分析基础(第3版)

    万次阅读 多人点赞 2018-08-20 18:42:40
    - 算法设计与分析基础 - Anany Levitin 著 (第三版) 序言 设计技术作为问题求解的一般性策略 分析算法效率(算法经验分析、算法可视化) 各种方法加习题练习 目录 1. 绪论 2. 算法效率分析基础 3. 蛮...
  • 从斐波那契数列讲解算法的设计思路从斐波那契到递归带备忘录的递归从递归到动态规划动态规划算法设计思路分治算法设计贪心算法设计斐波那契数列的用途与特性斐波那契数列的用途斐波那契数列的特性算法设计总结 ...
  • 算法设计 - 概述

    千次阅读 2018-10-21 21:01:15
    算法设计 - 概述 如需转载请注明出处:http://blog.csdn.net/qingyixiaoxia 熟知的算法设计思路有五类:分治,回溯,分枝限界,动态规划,贪心。本文作为一个对算法设计的概述,着眼于讨论如下几点:其一,算法...
  • 文章目录1 算法的研究内容2 算法设计的两个例子2.1 调度问题2.2 算法设计的步骤2.3 投资问题3 总结 在学习算法涉及与分析的内容之前,先了解一下算法所涉及的几个大块的内容,方便以后学习。 1 算法的研究内容 算法...
  • 算法设计技巧与分析【沙特】答案

    热门讨论 2011-12-14 22:09:47
    算法设计技巧与分析【沙特】那本,是我们老师给的。是我看过最全的版本。
  • 选择排序是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推...
  • 算法设计——五大算法总结

    千次阅读 多人点赞 2020-09-15 16:10:20
    算法设计总结一、【分治法】二、【动态规划法】三、【贪心算法】四、【回溯法】1、回溯法的一般描述五、【分支限界法】 一、【分治法】 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,...
  • 如果划分是平衡的,那么快速排序算法性能与归并排序一样。如果划分是不平衡的,那么快速排序的性能就接近于插入排序了。在本文中,我们将给出划分为平衡或不平衡时快速排序性能的非形式化的分析。 最坏情况划分 当...
  • 常见的算法设计方法

    千次阅读 2019-08-01 20:22:46
    然而,作为探寻问题求解思路的基本思想和方法,对于任何算法设计都是有用的。 1 穷举法 穷举法亦称作枚举法。它的基本思想是,首先根据求解问题的部分条件确定答案的大致范围,即列举出解的所有可能的情况;然后在...
  • 算法设计与分析之递归算法

    千次阅读 2020-11-26 22:40:27
    简单易懂的介绍了递归算法的原理和设计方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,232,462
精华内容 492,984
关键字:

算法设计