笔记
文章平均质量分 90
三角恐龙
这个作者很懒,什么都没留下…
展开
-
算法设计与分析复习笔记第七章随机化(概率)算法
随机化算法的基本思想是一种使用概率和统计方法在其执行过程中对于下一计算步骤作出随机选择的算法。随机化算法把“对于所有合理的输入都必须给出正确的输出”这一求解问题的条件放宽,把随机性的选择注入到算法中,在算法执行某些步骤时,可以随机地选择下一步该如何进行,同时允许结果以较小的概率出现错误,并以此为代价,获得算法运行时间的大幅度减少。随机化算法的基本概念例如,判断表达式f(x1, x2, …, xn)是否恒等于0。原创 2023-12-29 15:32:51 · 1367 阅读 · 0 评论 -
算法设计与分析复习笔记第六章分支限界法
分支限界法的基本思想分支限界法类似于回溯法,也是一种在问题的解空间树T中搜索问题解的算法。但在一般情况下,分枝限界法与回溯法的求解目标不同。回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分枝限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。所谓“分枝”就是采用广度优先的策略,依次搜索活结点的所有分枝,也就是所有相邻结点。求最优解时,选择哪一个子结点?原创 2023-12-29 15:31:12 · 3233 阅读 · 1 评论 -
算法设计与分析复习笔记第五章回溯法
若只要遍历解空间树上的结点,那么将各个结点按栈的方式控制便可实现深度为主的搜索。但是在求解问题时,需要记录解的路径,在回溯时还需要删除结点和修改相应的信息。栈中的结点是分层次的,而现在没有区分它们的层次。这就增加了回溯判断和操作的困难。采用一个简洁有效的方法:设计一个末尾标记,每次压栈时,先压入末尾标记。原创 2023-12-29 15:30:05 · 1114 阅读 · 0 评论 -
算法设计与分析复习笔记第四章贪心算法
进一步,假设A是原问题的包含活动1的最优解,则A’=A–{1}是活动集合E’={i∈E且si≥f1}的一个最优解。反之,如果能够找到E’的一个解B’,它包含了比A’更多的活动,则将活动1加入到B’中将产生E的一个解B,它包含比A更多的活动。贪心选择:当安排下第i个活动后,可能有:fi>si+1,所以第i+1个活动无法安排,这就必须舍弃第i+1个活动,检测第i+2个活动……贪心策略:如果V–S中的顶点j与S中的某个点i连接且(i, j) 的权重最小,于是就选择j(将j加入S),并将(i, j) 加入T中。原创 2023-12-28 22:19:28 · 2800 阅读 · 0 评论 -
算法设计与分析复习笔记第三章动态规划
初始化结果最长公共子序列的长度=len[i][j]右下角的值。原创 2023-12-28 22:17:57 · 1409 阅读 · 0 评论 -
算法设计与分析复习笔记第二章递归与分治
要做到这种“分块有序”,只要在a[low..high]中任选一个整数作为基准(T),以此基准将当前无序区划分为左、右两个较小的子区间a[low..T-1)和a[T+1..high],并使左边子区间中所有元素均小于等于基准(不妨记为T),右边的子区间中所有元素均大于等于它,而基准T则位于正确的位置上,它无须参加后续的排序。归纳起来,递归调用的实现是分两步进行的,第一步是分解过程,即用递归体将“大问题”分解成“小问题”,直到递归出口为止,然后进行第二步的求值过程,即已知“小问题”,计算“大问题”。原创 2023-12-28 22:16:29 · 1230 阅读 · 0 评论 -
算法设计与分析复习笔记--第一章
算法的定义:算法是指解决问题的方法和过程。算法的特性确定性:每条指令的意义都是清晰的,无歧义的;如:不允许有诸如“x/0”或“x与1或2相加”之类的运算。有限性:每条指令的执行次数和执行时间都是有限的;输入:有零个或多个输入;输出:至少产生一个量作为输出。算法要求其执行时间是有限的 (终止性)。程序的定义:程序是算法用某种程序设计语言的具体实现。程序是依赖于程序设计语言的,甚至依赖于计算机结构的。算法是脱离具体的计算机结构和程序设计语言的。算法与程序的区别和联系一个程序不一定满足有限性。原创 2023-12-28 22:14:29 · 1669 阅读 · 0 评论