码迷,mamicode.com
首页 >  
搜索关键字:二叉    ( 13085个结果
二叉查找树
一棵树是N个节点和N-1条边的集合。因为,每条边都将某个节点连接到它的父亲,而除去根节点外每一个节点都有一个父亲。 二叉树:每个节点都不能有多于两个的儿子。深度平均值为O(logN)。 使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。 在程序中,一定要记得处理的根节点为空的情况。除了删...
分类:其他好文   时间:2014-07-22 23:05:15    阅读次数:231
数据结构 《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
小猴子下落
1 /*小猴子下落 2 时间限制:3000 ms | 内存限制:65535 KB 3 难度:3 4 描述 5 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。 6 每个内结点上都...
分类:其他好文   时间:2014-05-06 01:18:12    阅读次数:253
【C语言】【数据结构】菜鸟学习日志(四) 用二叉树实现非递归排序
利用二叉树实现的排序。将源文件中的数据以中序由小到大的顺序构建二叉树,再写入到另一个文件中(顺便释放为二叉树分配的空间)。这里使用了非递归的算法实现。
分类:编程语言   时间:2014-05-06 00:19:39    阅读次数:353
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
优先队列——斐波那契堆
该文章从优先队列的角度分析并实现了斐波那契堆,并与二叉堆实现的优先队列进行了比较。...
分类:其他好文   时间:2014-04-30 22:47:38    阅读次数:256
经典白话算法之二叉树各种遍历
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。 二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;...
分类:其他好文   时间:2014-04-30 22:44:38    阅读次数:501
经典白话算法之堆排序
前序: (二叉)堆数据结构是一种数组对象,它可以被视为一棵完全二叉树。树中每个节点与数组中存放该节点值的那个元素对应。 树的每一层都是填满的,最后一层除外。 树的根为a[1] (在这里是从1开始的,也可以从0开始),给定了某个节点的下标i,其父节点为i/2,左二子为2*i,右儿子为2*i+1。 二叉堆满足二个特性: 1.父结点的键值总是大于或等于(小于或等于)任何一个...
分类:其他好文   时间:2014-04-30 22:15:38    阅读次数:434
java代码面试常见的算法-mark
面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。 在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。 本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。...
分类:编程语言   时间:2014-04-30 22:11:39    阅读次数:356
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!