码迷,mamicode.com
首页 >  
搜索关键字:完全二叉树    ( 970个结果
Java与算法之(7) - 完全二叉树
树 下图是一“棵”树的样子。树这个名称起的很形象,整个数据结构由根、枝、叶组成,其中1为根节点,2、3是1的子节点,4、5、6、8、9、10这几个没有子节点的节点称为叶节点。 节点的度:一个节点的子树的数量称为该节点的度。例如,图中节点2的度为3,节点3的度为2。 树的度:一棵树的度是指该树中节点的 ...
分类:编程语言   时间:2017-05-10 17:51:27    阅读次数:280
HZAU 1203 One Stroke(倍增)
题目链接:http://acm.hzau.edu.cn/problem.php?id=1203 【题意】给你一颗完全二叉树每个节点都有一个权值,然后要你从上往下找一条链,值得链上权值的和<K,且节点数最大。 【分析】有两种做法:一种是在树上双指针,另一种是先求一下前缀和,当到i节点时前缀和<K,更新 ...
分类:其他好文   时间:2017-04-24 00:05:09    阅读次数:356
算法题---完全二叉树的判定
思想:根据完全二叉树的定义,对完全二叉树按照从上到下、从左到右的层次遍历,应该满足一下两条要求: ●某节点没有左孩子,则一定无右孩子 ●若某节点缺左或右孩子,则其所有后继一定无孩子 若不满足上述任何一条,均不为完全二叉树。 ...
分类:编程语言   时间:2017-04-23 13:16:36    阅读次数:166
排序算法7--选择排序--堆排序
堆排序 1.堆排序是一种树形选择排序,在排序过程中,将待排序的记录r[1..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树的双亲结点和孩子结点之间的内在关系,在当前无序的序列中选择关键字最大(或者最小的)记录 1.1、先将无序队列,列成二叉树的的样子 1.2、建初堆。从n/2向上取整处开始调 ...
分类:编程语言   时间:2017-04-22 17:34:51    阅读次数:297
Java版——二叉树
1.一般有2i个节点在第i+1层上,满足这个条件的树称作是完全二叉树。 2.对于所有的非空二叉树,如果它的中间节点都恰好有两个非空子女,那么叶的数目m大于中间节点的数目k,并且m=k+1。 证明:1??如果一个树仅有一个根,那么很容易验证上述条件。假如他对某个树成立,就将两个树连接到一个已存在的树叶 ...
分类:编程语言   时间:2017-04-22 00:23:50    阅读次数:224
[BinaryTree] 二叉树常考知识点
1.二叉树第i层至多有2^(i-1)个结点(i>=1)。 2.深度为k的二叉树上,至多含2^k-1个结点(k>=1) 3.n0 = n2 + 1(度) 4.满二叉树:深度为k且含有2^k-1个结点的树。 5.完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。  ...
分类:其他好文   时间:2017-04-17 18:07:03    阅读次数:168
最大(小)堆和堆排序简介
1. 最大(小)堆 对于一个完全二叉树来说,如果所有的结点(叶子结点除外)的值都大于(小于)其左右孩子结点的值,那么这个完全二叉树就被成为一个大(小)根堆。如下图所示。按照堆的定义可以发现,堆顶结点(二叉树的根结点)一定对应整个序列中的最大(小)记录。这样一来,可以设计一种排序思路,每次将堆的堆顶记 ...
分类:编程语言   时间:2017-04-13 23:25:04    阅读次数:231
C++ 用template实现的堆
堆简介 堆并不是STL的组件,但是经常充当着底层实现结构。比如优先级队列(Priority Queue)等等。 堆是一种完全二叉树,因此我们可以用数组来存储所有节点。在这里的实现中,采用了一个技巧:将数组中索引为0的元素保留,设置为极大值或者为极小值(依据大顶堆或者小顶堆而定)。那么当某个节点的索引 ...
分类:编程语言   时间:2017-04-09 18:02:30    阅读次数:225
【数据结构】树与二叉树
树是一类重要的非线性数据结构,是以分支关系定义的层次结构 定义: 树(tree)是n(n>0)个结点的有限集T,其中: 有且仅有一个特定的结点,称为树的根(root) 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtr ...
分类:其他好文   时间:2017-04-08 22:14:46    阅读次数:170
Python -堆的实现
最小(大)堆是按完全二叉树的排序顺序的方式排布堆中元素的,并且满足:ai >a(2i+1) and ai>a(2i+2)( ai <a(2i+1) and ai<a(2i+2)).堆是一种高级的数据结构,在Python中,有相应的模块deapq。 下面给出自己编写的代码实现最小堆与使用heapq模块 ...
分类:编程语言   时间:2017-04-04 16:39:32    阅读次数:221
970条   上一页 1 ... 46 47 48 49 50 ... 97 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!