码迷,mamicode.com
首页 >  
搜索关键字:递归    ( 18847个结果
面向程序员的设计模式 ——GoF《设计模式》读书总结(零)
这个题目很奇怪,设计模式不就是指导程序员进行软件设计的么?呃,我的意思是这是与 面向“对象”的设计模式相对的。以前有看过有人写过《给妻子解释设计模式》,这种把计算机中的思想与生活相结合固然很好。人类解决问题的思想是相通的,计算机中的很多思想比如分治、递归、贪心等都能在生活中找到相似的例子。但是,不恰当的例子反而会误导人的思维,造成理解偏差。设计模式本就是类与类之间如何组织的一套软件设计经验,我们拿...
分类:其他好文   时间:2014-07-30 10:05:13    阅读次数:269
DFS 和BFS
DFS(Depth First Search) 深度优先搜索BFS (Breadth First Search)宽度优先搜索在算法中常用这两种方法。1) DFS考虑用“递归”实现和用 “栈”实现两种方法,因为对于大型问题搜索深度比较深,如果用递归实现的话,栈空间占用比较多,递归调用需要的额外时间也比...
分类:其他好文   时间:2014-07-30 09:54:03    阅读次数:234
算法学习 - 树的一些解释
树的解释 树是ADT里面很经典的数据结构了,应用太多了,相对于链表的线性访问时间,O(n)。树的大部分操作的平均运行时间都是为O(logN)。 - 树的概念 树有几种方式定义,一种是递归,若树不为空,则一棵树是由根(root)的节点r和0个或者多个非空树组成。N个节点的树,有N-1个边。没有儿子的节点称为叶子(leaf). 对于任意节点N(i),它的深度为从根节点到N(i)的唯一路径长度。如...
分类:其他好文   时间:2014-07-30 01:08:02    阅读次数:253
递归和迭代(Recursion and Iteration)
递归特点:简而言之,递归就是应用程序调用自身。所以,存在预期收敛,才能使用递归(因为不能无限期递归调用下去)。优点:程序看着比较简单,比较容易实现。缺点:递归要占用额外的栈空间,如果递归的深度比较大,那么占用的栈比较多,而且调用函数的时间也比较多,时空性都不好。所以选择递归要考虑好处和缺点之间的权衡...
分类:其他好文   时间:2014-07-30 00:18:22    阅读次数:362
HDU - 1213 How Many Tables
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1213典型的并查集,属于水题吧,但学会了路径压缩。 1 /*非递归,非路径压缩*/ 2 #include 3 const int maxn=1000+5; 4 int fa[maxn]; 5 void i...
分类:其他好文   时间:2014-07-29 20:58:42    阅读次数:217
HDU1272 小希的迷宫 (并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272 注意问题: 1、不能成环,即每次输入的两个数的根节点不能相同; 2、只有一个迷宫,即根节点数目唯一; 3、注意当只输入“0 0” 时要输出"Yes"; 4、状态压缩用递归回栈溢出。...
分类:其他好文   时间:2014-07-29 17:47:32    阅读次数:164
算法导论第一课
1.课程分两部分:算法分析,算法设计2.算法分析:首先考虑的是性能,how fast;其次会考虑通信,ram,disk占用等等3.what is more important than perf ? 功能性,模块化,安全,用户友好,可扩展... then why study algs? 1,perf...
分类:其他好文   时间:2014-07-29 16:47:12    阅读次数:266
#Leet Code# Convert Sorted Array to Binary Search Tree
描述:递归代码: 1 class Solution: 2 # @param num, a list of integers 3 # @return a tree node 4 def sortedArrayToBST(self, num): 5 if len(...
分类:其他好文   时间:2014-07-29 16:41:11    阅读次数:210
java组合算法(非递归)
package?net.kitbox.util; import?java.util.Iterator; import?java.util.LinkedList; @SuppressWarnings("rawtypes") public?class?CombineIterator?implements?Iterator?{ //源数据 private?int...
分类:编程语言   时间:2014-07-29 16:23:50    阅读次数:223
排序二叉树的实现
在计算机科学中,二叉树是一种重要的非线性的数据结构。每个结点的度均小于等于2,通常子树称为左子树和右子树。而排序二叉树是二叉树中的一种,其满足:1. 如左子树不为空,那么左子树上的结点的值都小于其根上的值;2. 如右子树不为空,那么右子树上的结点的值都大于其根上的值; 3. 其子树也是一个排序二叉树。 下面用递归的方式来插入一个结点来满足上述的要求: typedef struct Node {...
分类:其他好文   时间:2014-07-29 15:02:28    阅读次数:160
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!