码迷,mamicode.com
首页 >  
搜索关键字:满二叉树 完全二叉树    ( 1098个结果
线段树
一:线段树基本概念 1:概述 线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(lgN)! 性质:父亲的区间是[a,b],(c=(a+b)/2)左儿子的区间是[a,c], ...
分类:其他好文   时间:2016-06-01 19:50:30    阅读次数:156
堆 (数据结构)
堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样。 有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节)。符合这样特点的完全二叉树我们称为最小堆。反之,如果所有父结点都比子结点要大,这样的完全二叉树称为最大堆。那这一特性究竟有什么用呢? 假如有14个数分别是99、5、36、7、22、17、4...
分类:其他好文   时间:2016-06-01 16:54:52    阅读次数:315
二叉树
二叉树(Binary Tree)是另一种树型结构,它的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的字数由左右之分,顺序不可颠倒。 二叉树的存储结构:1.顺序存储结构 (仅适用于完全二叉树) 2.链式存储结构 二叉树的遍历: 先序遍历二叉树的操作定义为: 若二叉树为 ...
分类:其他好文   时间:2016-05-31 08:56:41    阅读次数:174
重温堆排序
郑重声明:本文99.99%转载自http://blog.csdn.net/morewindows/article/details/6709644/ 快一年没碰堆排序了……在这里给自己 总结 搞晕一下。 *堆排序基于二叉堆 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: ...
分类:编程语言   时间:2016-05-29 21:31:06    阅读次数:207
二叉树顺序存储和遍历
1 二叉树的存储 1.1 顺序存储 使用数组自上而下,自左至右存储完全二叉树上的结点元素,即将完全二叉树上编号为i的结点元素存储在某个数组下标为i-1的分量中,然后通过一些方法确定结点在逻辑上的父子和兄弟关系。 根据二叉树的性质,完全二叉树和满二叉树树采用顺序存储比较合适,树中结点的序号可以唯一地反 ...
分类:其他好文   时间:2016-05-23 22:39:16    阅读次数:259
[数据结构] 堆排序
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值。...
分类:编程语言   时间:2016-05-23 19:15:07    阅读次数:225
9.STL简单binary heap的实现
我用VS2013写的程序(github ),queue版本的代码位于cghSTL/version/cghSTL-0.3.6.rar          所谓binary heap就是一种完全二叉树,也就是说,整颗binary tree除了对底层的叶节点外,是填满的,而最底层的叶节点由左至右不能有空隙。          完全二叉树内没有任何节点漏洞,这带来一个极大的好处:我们可以利用vector...
分类:其他好文   时间:2016-05-23 15:29:44    阅读次数:249
二叉树、平衡二叉树、完全二叉树、满二叉树 .
基本概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层。 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度。   二叉树 在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆。二叉树的每个结点至多只有二棵子树(不存在...
分类:其他好文   时间:2016-05-19 17:47:45    阅读次数:267
数据结构c++语言描述——最大堆(MaxHeap)
一、最大堆的插入 图9-3a 给出了一个具有5个元素的最大堆。由于堆是完全二叉树,当加入一个元素形成6元素堆时,其结构必如9-3b 所示。如果插入元素的值为1,则插入后该元素成为2的左孩子,相反,若新元素的值为5,则该元素不能成为2的左孩子(否则将改变最大树的特性),应把2下移为左孩子(如图9 - ... ...
分类:编程语言   时间:2016-05-18 21:48:01    阅读次数:421
排序算法:堆排序
堆排序1. 堆: 1. 一种完全二叉树。 2. 每个结点的值都大于或等于其左右子结点的值,大顶堆。 3. 小顶堆同理。 2. 是简单选择排序的一种改进:把每次比较的结果用堆来保存起来。 3. 堆排序(大顶堆): 1. 将待排序列构造成一个大顶堆。 2. 将堆顶和待排序列最后一个元素交换,也就是保存起来。 3. 将剩余的序列(去除最后一个元素)重新构造成...
分类:编程语言   时间:2016-05-18 19:41:07    阅读次数:175
1098条   上一页 1 ... 66 67 68 69 70 ... 110 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!