public class HinoTest { public static int step=0; /** * * @param num 盘子数 * @param a 柱子 * @param b 柱子 * @param c 柱子 */ public static void hinoMove(int ...
分类:
编程语言 时间:
2016-09-01 22:42:41
阅读次数:
129
本人很懒,半年前看的DINIC算法,也明白了其中的原理,但一直没有尝试。今天第一次,参照了其他人的模版。 DINIC优缺点:最大流算法,时间N*N*M,非递归算法更好理解,也更快,但是代码更长! DINIC思想:通过广搜给每的个结点分层,通过深搜给找一条可以流到终点的流(只搜深度大1的点),统计这条 ...
分类:
其他好文 时间:
2016-08-31 18:25:06
阅读次数:
172
递归算法:是一种直接或者间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。 递归过程一般通过函数或子过程来实现。 递归算法的实质:是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 递归算法解决问题 ...
分类:
编程语言 时间:
2016-08-30 00:26:31
阅读次数:
167
递归、二维数组顺时针旋转90°、正则表达式 1、 递归算法是一种直接或间接调用自身算法的过程。 特点: 递归就是在过程或函数里调用自身 明确的递归结束条件,即递归出口 简洁,但是不提倡 递归次数多容易造成栈溢出 要求: 每次调用递归规模上有所减小 前一次为后一次做准备 规模较小时必须直接给出解答而不 ...
分类:
编程语言 时间:
2016-08-29 22:40:24
阅读次数:
186
算法描述:如果用P表示n个元素的全排列,而Pi表示n个元素中不包含元素i的全排列,(i)Pi表示在排列Pi前面加上前缀i的排列,那么n个元素的全排列可递归定义为: ① 如果n=1,则排列P只有一个元素i; ② 如果n>1,则全排列P由排列(i)Pi构成;根据定义,可以看出如果已经生成(k-1)个元素 ...
分类:
编程语言 时间:
2016-08-27 19:12:47
阅读次数:
168
递归函数为自调用函数,在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用,然后把目前流程的主控权交回给上一层函数来执行,可能这样给大家讲解,还是很难明白,直接上例子 function test ($n){ echo $n." "; if ...
分类:
编程语言 时间:
2016-08-18 00:59:09
阅读次数:
150
递归算法:是一种直接或者间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归过程一般通过函数或子过程来实现。递归算法的实质:是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。递归算法解决问题的特点 ...
分类:
编程语言 时间:
2016-08-12 15:19:39
阅读次数:
165
【代入法】代入法首先要对这个问题的时间复杂度做出预测,然后将预测带入原来的递归方程,如果没有出现矛盾,则是可能的解,最后用数学归纳法证明。 【举 例】我们有如下的递归问题:T(n)=4T(n/2)+O(n),我们首先预测时间复杂度为O(n2),不妨设T(n)=kn2(其中k为常数),将该结果带入方程 ...
分类:
编程语言 时间:
2016-08-08 14:35:46
阅读次数:
332