码迷,mamicode.com
首页 >  
搜索关键字:二叉树 递归    ( 27702个结果
二叉查找树
一棵树是N个节点和N-1条边的集合。因为,每条边都将某个节点连接到它的父亲,而除去根节点外每一个节点都有一个父亲。 二叉树:每个节点都不能有多于两个的儿子。深度平均值为O(logN)。 使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。 在程序中,一定要记得处理的根节点为空的情况。除了删...
分类:其他好文   时间:2014-07-22 23:05:15    阅读次数:231
POJ 3239 n皇后放置问题
以前那个是8皇后问题,用的递归写法,然后这个可以求n皇后放置问题,用的纯粹数学方法……神奇! #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #d...
分类:其他好文   时间:2014-07-22 23:04:55    阅读次数:205
数据结构 《18》----RMQ 与 LCA 的等价性 (一)
前言     RMQ: 数组 a0, a1, a2,..., an-1, 中求任意区间 a[i+1], a[i+2], ..., a[i+k] 的最小值     LCA: 求二叉树中两个节点的最低公共祖先     本文将证明这两个问题可以相互归约为另一个问题。 证明    先通过一个简单的例子来说明问题。见下图:    求 [7 2 8 6] 的最小值...
分类:其他好文   时间:2014-07-22 23:01:35    阅读次数:271
哈夫曼树 POJ 3253 Fence Repair
竟然做过原题,一眼看上去竟然没感觉。。。 哈夫曼树定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规...
分类:其他好文   时间:2014-07-22 22:59:32    阅读次数:293
11782 - Optimal Cut(树形DP+记忆化搜索)
题目链接:11782 - Optimal Cut 题意:按前序遍历给定一棵满二叉树,现在有k次,可以选k个节点,获得他们的权值,有两个条件: 1、一个节点被选了,他的子节点就不能选了。 2、最终选完后,根到所有叶子的路径上,都要有一个被选的节点。 思路:树形dp,dp[u][k]代表在结点u,可以选k个节点,那么就分两种情况 选u节点,dp[u][k] = node[u]; 选子节点之...
分类:其他好文   时间:2014-05-03 00:42:27    阅读次数:331
Subsets II
leetcode, Subsets II...
分类:其他好文   时间:2014-05-02 20:17:59    阅读次数:271
strassen算法——矩阵乘法
strassen算法可以看做是分治递归法求解矩阵乘法的改进。 利用分治递归法求解矩阵乘法的过程大致: 矩阵C = A * B(A、B、C都是n x n矩阵) 可以发现(A11 * B11)、(A12 * B21)……等子矩阵的乘法运算需要继续递归。上面有8个乘法,所以需要递归8次。 时间复杂度关系公式 T(n) = 8T(n/2) + O(n^2),这里8T(n/2)是8次递归...
分类:其他好文   时间:2014-05-01 08:43:52    阅读次数:549
新手学python(3):yield与序列化
1 Yield生成器        Yield是我在其他语言中没有见过的一个属性,算是python的一大特色,用好之后可以使代码更简洁。考虑一个简单的例子,文件的遍历。要遍历一个目录下的所有文件需要递归的操作。如果我们只是单纯的打印文件名,我们可以在递归的过程中完成,每当发现一个非目录就可以打印文件名。代码如下: class TraverseDirectory(object): @s...
分类:编程语言   时间:2014-04-30 22:48:40    阅读次数:312
经典白话算法之二叉树各种遍历
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。 二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;...
分类:其他好文   时间:2014-04-30 22:44:38    阅读次数:501
主定理的证明及应用举例
主定理 主定理最早出现在《算法导论》中,提供了分治方法带来的递归表达式的渐近复杂度分析。 规模为n的问题通过分治,得到a个规模为n/b的问题,每次递归带来的额外计算为c(n^d) T(n) <= aT(n/b)+c(n^d) 那么就可以得到问题的复杂度为:...
分类:其他好文   时间:2014-04-30 22:44:38    阅读次数:435
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!