摘要:分治算法的设计模式 - 大化小,小化了 分治算法的主要步骤就是:分解,求解,合并。 [cpp] view plain copy Divide-and-Conquer(P) { //问题规模足够小,直接解决 if(P≤n0) return(ADHOC(P); //问题规模大,则分解为较小的子问题 P1
阅读全文
摘要:上一篇中讲解了算法的基本概念,算法许许多多,按照算法基本思想,大致可分为如下几类:分治算法、贪心算法、动态规划、回溯法、分支限界、概率算法和随机算法等等。这一篇讲解分治算法。 分治算法 分治即分而治之。一个问题规模过大不容易直接解决,就可以划分成许多小问题,如果小问题不容易求解,那么可以再划分成规模
阅读全文
摘要:一. 回溯法 – 深度优先搜素 1. 简单概述 回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。 基本思想类同于: 图的深度优先搜索 二叉树的后序遍历 【 分支限界法:广度优先搜索 思想类同于:图的广度优
阅读全文
摘要:原文:http://blog.sina.com.cn/s/blog_8897e5420101bdr4.html 正好看到二分图最大匹配的问题,找到这篇文章,作者写的很有趣,厚脸皮转过来了。 作为一个社会问题,如何使一段婚姻(感情)保持稳定并没有标准答案。我也强烈怀疑标准答案的存在性。在感情世界里,只
阅读全文
摘要:原文:http://blog.csdn.net/dark_scope/article/details/8880547 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用
阅读全文
摘要:http://www.cnblogs.com/ShaneZhang/p/3755479.html 主要内容来自百度文库某ppt。在每幅图片的下面我会给出一些说明性文字。 本图示最大流的一个实例。由此,可以引出最大流的一些基本的定义和概念 可以这样看,图就是一种管道,管道有最大通过流量的限制,图中边的
阅读全文
摘要:引言 http://blog.csdn.net/yiqingnian28/article/details/23388633 还是前几天参加的2014阿里巴巴春季校招(测试开发岗)笔试. 有道选择题: 图1中标出了每条有向公路最大流量,请问从S到T最大流量是( ). A.46 B. 47 C. 54
阅读全文
摘要:http://blog.csdn.net/kangroger/article/details/38864689 在hihocoder上面的题目中看到的这个问题,总结一下。先看01背包问题。 01背包问题:一个背包总容量为V,现在有N个物品,第i个 物品体积为weight[i],价值为value[i]
阅读全文
摘要:原地址:http://blog.csdn.net/dapengbusi/article/details/7463968 动态规划0-1背包问题 Ø 问题描述: 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装 入背包中物品的总价值最大? Ø
阅读全文
摘要:作者: 阮一峰 http://www.ruanyifeng.com/blog/2013/05/Knuth–Morris–Pratt_algorithm.html 作者: 阮一峰 http://www.ruanyifeng.com/blog/2013/05/Knuth–Morris–Pratt_alg
阅读全文
摘要:作者: 阮一峰 http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html 作者: 阮一峰 http://www.ruanyifeng.com/blog/2013/05/boyer-moore_str
阅读全文
摘要:http://blog.csdn.net/jingfengvae/article/details/51691124 一、什么是格雷码? 格雷码,又叫循环二进制码或反射二进制码,格雷码是我们在工程中常会遇到的一种编码方式,它的基本的特点就是任意两个相邻的代码只有一位二进制数不同,这点在下面会详细讲解到
阅读全文
摘要:一、算法与问题 算法是解决问题的一系列步骤; 理解问题,设计算法的一般过程: 解决问题的时候可以首先考虑蛮力法,因为蛮力法一般都能解决,只是效率比较低。使用蛮力法解决问题之后可以再考虑使用其他算法思想进行优化。在使用蛮力法的时候如果解决起来比较费力,可以再次思考一下问题,看看能不能找到什么规律,然后
阅读全文
摘要:http://lib.csdn.net/article/datastructure/31526 最近粗读了一本算法基础书,看有好多人推荐就学习学习,感觉书写的还是不错的,不敢说学到了多少新算法,至少拓展了视野,系统了知识,本书中确实有不少以前没见过没听过的算法,这些算法不一定会直接用于实际实践中,但
阅读全文
摘要:http://blog.csdn.net/effective_coder/article/details/8742979 递归算法详解 C语言通过运行时堆栈来支持递归的调用,在我们刚接触递归的时候,国内很多教材都采用求阶乘和菲波那契数列来描述该思想,就如同深受大家敬爱的国产的C语言程序设计,老谭也用
阅读全文
摘要:http://www.cnblogs.com/zhuyf87/archive/2012/11/04/2753950.html 树转换为二叉树 (1)加线。在所有兄弟结点之间加一条连线。 (2)去线。树中的每个结点,只保留它与第一个孩子结点的连线,删除它与其它孩子结点之间的连线。 (3)层次调整。以树
阅读全文