码迷,mamicode.com
首页 >  
搜索关键字:递归    ( 18847个结果
HDU 4280 Island Transport 网络流裸题
非递归版好像被卡掉了,其他2个板子都能过。 #include #include #include #include #include using namespace std; #define ll int const int MAXN = 100100;//点数的最大值 const int MAXM = 400010;//边数的最大值 const int INF = 0x3f3f3f3f; st...
分类:其他好文   时间:2014-05-09 22:55:23    阅读次数:476
单链表的合并(递归、非递归)
例:已知两个单链表head1和head2各自有序升序排列,请把他们合并成一个连表并依然有序,并保留原来所有节点 假设以下两个链表: 链表1:1->3->5 链表2:2->4->6 (1)比较1和链表2的第一个节点数据,由于15)和链表2在调用本过程,比较得到结果链表的第二个节点,即2与3比较得到2,此时合并后的链表节点为1->2,这样 递归知道两个链表的节点都被加到结果链表中。...
分类:其他好文   时间:2014-05-09 15:04:40    阅读次数:374
leetcode第一刷_Binary Tree Inorder Traversal
递归实现当然太简单,也用不着为了ac走这种捷径吧。。非递归实现还挺有意思的。 树的非递归遍历一定要借助栈,相当于把原来编译器做的事情显式的写出来。对于中序遍历,先要访问最左下的节点,一定是进入循环后,不断的往左下走,走到不能走为止,这时候,可以从栈中弹出访问的节点,相当于“左根右”过程的“根”,然后应该怎么做呢?想一下中序遍历完根节点之后应该干嘛,对,是走到右子树中继续重复这个过程,但是有一点,...
分类:其他好文   时间:2014-05-09 14:57:08    阅读次数:211
leetcode第一刷_Restore IP Addresses
字符串的问题真是难,一般递归比较好写代码,一般地归还会超时,而且测试用例特别多。。 这道题刚拿到手时直接慌了,这情况也太多了,后来冷静下来想想,其实还是比较单纯的。一个ip地址,肯定是四个整数加三个点构成,四个整数要满足什么呢,0~255嘛,还有呢,就是这四个整数必须正好把原来的字符串给用完。一开始忽略掉的一类测试用类是前面有0但实际这个数不是零的情况。 用什么来穷举呢,或者说穷举的对象是什么...
分类:其他好文   时间:2014-05-09 14:54:11    阅读次数:210
leetcode第一刷_Unique Binary Search Trees
这道题其实跟二叉搜索树没有什么关系,给定n个节点,让你求有多少棵二叉树也是完全一样的做法。思想是什么呢,给定一个节点数x,求f(x),f(x)跟什么有关系呢,当然是跟他的左右子树都有关系,所以可以利用其左右子树的结论,大问题被成功转化成了小问题。最熟悉的方法是递归和dp,这里显然有大量的重复计算,用dp打表好一些。 后来实验的同学说,这其实是一个Catalan数,上网查了一下,果然啊。Catal...
分类:其他好文   时间:2014-05-09 14:47:53    阅读次数:229
leetcode第一刷_Unique Binary Search Trees II
可能没想到简单方法的人,在上一题中就把这一题给做了。怎样把所有的树都生成出来呢?方法肯定用的是递归,但是有个致命的问题,如果做好了根节点再递归,那么出来的很多树都公用一个根节点,结果肯定是乱七八糟的。 怎么做?其实做法跟之前求个数在思想上是高度统一的,先把所有的左右子树都求出来,然后把它们之间的所有组合都连接到一个新建立出来的根节点,既然是分开左右子树,很容易想到类似二分的思想,每次指定的不是一...
分类:其他好文   时间:2014-05-09 14:13:55    阅读次数:376
斐波那契序列与跳台阶
剑指offer上的第就题,简单题,在九度OJ上测试通过。 主要注意以下几点: 1、用非递归实现,递归会超时 2、结果要用long long保存,不然会发生结果的溢出,从而得到负值 3、如果是在VC++6.0下编译的,long long是illegal的,要用_int64代替,同时输出的转化以字符也要用%l64d代替%lld...
分类:其他好文   时间:2014-05-09 13:55:58    阅读次数:436
单链表的合并(递归、非递归)
例:已知两个单链表head1和head2各自有序升序排列,请把他们合并成一个连表并依然有序,并保留原来所有节点假设以下两个链表:链表1:1->3->5链表2:2->4->6(1)比较1和链表2的第一个节点数据,由于15)和链表2在调用本过程,比较得到结果链表的第二个节点,即2与3比较得到2,此时合并...
分类:其他好文   时间:2014-05-09 13:08:43    阅读次数:283
排序算法学习之快速排序
快速排序基本思想:选取一个枢轴元素(图简单可选第一个),通过对序列一次遍历(中间涉及到数的交换),将该枢轴放置到序列合适位置,保证其左边数都比它小,右边数都比它大,然后利用递归思想对其左右两个子序列进行同样排序。快熟排序的基本实现过程:将枢轴元素key备份,序列头尾各设置一个游标——i和j,尾部.....
分类:其他好文   时间:2014-05-09 13:01:56    阅读次数:360
《具体数学》1.1递归(一)
《具体数学》通过三个例子来讲递归,分别是:HanoiTower(汉诺塔)、LinesinthePlane(平行中的直线)、JosephusCircle(约瑟夫环问题)这三个例子一直被数学家们反复研究;已知解法都使用递归,大问题化为小问题;都可以用计算机程序来求解;我最近因为考试忙的其实也没看几页,就先把..
分类:其他好文   时间:2014-05-09 06:56:00    阅读次数:270
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!