随笔分类 -  【课程】算法设计与分析

摘要:启发式算法是一种技术,这种技术使得在可接受的计算成本内去搜寻最好的解,但不一定能保证所得的可行解和最优解,甚至在多数情况下,无法阐述所得解同最优解的近似程度。 Heuristics可以等同于:实际经验估计(rule of thumb)、有依据的猜测(educated guess, a guess b 阅读全文

posted @ 2019-03-31 22:23 Charlie_ODD 阅读(3975) 评论(0) 推荐(0) 编辑

摘要:一、基本概念 (1)一种使用多阶段决策过程最优的通用方法。 (2)动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 假设问题是由交叠的子问题所构成,我们就能够用动态规划技术来解决它。一般来 阅读全文

posted @ 2018-12-18 16:32 Charlie_ODD 阅读(21570) 评论(0) 推荐(0) 编辑

摘要:一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅 阅读全文

posted @ 2018-12-17 09:02 Charlie_ODD 阅读(24281) 评论(0) 推荐(1) 编辑

摘要:时间复杂度 时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序需要的时间长度增长得有多快。也就是说,对于高速处理数据的计算机来说,处理某一个特定数据的效率不能衡量一个程序的好坏,而应该看当这个数据的规模变大到数百倍后,程序运行时间是否还是一样,或者也跟着慢了数百倍,或者变 阅读全文

posted @ 2018-11-28 14:02 Charlie_ODD 阅读(614) 评论(0) 推荐(0) 编辑

摘要:一.递归与分治 一.递归与分治 (1)递归:直接或间接地调用自身的算法称为递归算法。 递归是算法设计与分析中经常使用的一种技术,描写叙述简单且易于理解。 (2)分治:分治的设计思想是将一个规模为n难以解决的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题同样。递归地解这些子问题,然后将各 阅读全文

posted @ 2018-11-23 14:05 Charlie_ODD 阅读(834) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-11-23 13:48 Charlie_ODD 阅读(2454) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-11-08 21:46 Charlie_ODD 阅读(246) 评论(0) 推荐(0) 编辑

摘要:结论: 分支限界算法的思想通过本例子加以体现,明显这种方法是可行的,比盲目的查找结点有用,但是其效果(查找结点的个数)没有回溯算法有效,只能说明回溯算法在此问题上比朴素的分支限界算法(基于前面的限界函数)较优,接下来的一些改进或许能进一步提升分支限界算法的效果。 阅读全文

posted @ 2018-11-08 20:51 Charlie_ODD 阅读(280) 评论(0) 推荐(0) 编辑

摘要:问题描述: 图着色问题(Graph Coloring Problem, GCP) 又称着色问题,是最著名的NP-完全问题之一。 数学定义:给定一个无向图G=(V, E),其中V为顶点集合,E为边集合,图着色问题即为将V分为K个颜色组,每个组形成一个独立集,即其中没有相邻的顶点。其优化版本是希望获得最 阅读全文

posted @ 2018-11-02 10:14 Charlie_ODD 阅读(1229) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-31 15:15 Charlie_ODD 阅读(469) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-31 15:08 Charlie_ODD 阅读(305) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-31 14:52 Charlie_ODD 阅读(396) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-26 10:58 Charlie_ODD 阅读(560) 评论(0) 推荐(0) 编辑

摘要:说明: 通过以上的公式向后推倒可以得出每一步的可能情况,再根据约束条件从后往前确定解向量,很明显这样的公式推导十分繁琐,随着问题规模的扩大,分支和情况将十分复杂。 那么现在用图解法来简化这种计算推到形式: 从这个图现在好像只能看出当X=6时,函数值=6,即M=6时,最优总效益值为6。 那么这个图还有 阅读全文

posted @ 2018-10-23 15:25 Charlie_ODD 阅读(606) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-19 08:56 Charlie_ODD 阅读(364) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-16 15:54 Charlie_ODD 阅读(435) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-11 21:20 Charlie_ODD 阅读(516) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-11 21:08 Charlie_ODD 阅读(296) 评论(0) 推荐(0) 编辑

摘要: 阅读全文

posted @ 2018-10-09 14:35 Charlie_ODD 阅读(452) 评论(0) 推荐(0) 编辑

摘要:这种实现方式的最坏情况和最好情况时间复杂度分别为O(n2)和 O(n) 阅读全文

posted @ 2018-10-01 16:08 Charlie_ODD 阅读(506) 评论(0) 推荐(0) 编辑