原文:6天通吃树结构—— 第二天 平衡二叉树 上一篇我们聊过,二叉查找树不是严格的O(logN),导致了在真实场景中没有用武之地,谁也不愿意有O(N)的情况发生,
作为一名码农,肯定会希望能把“范围查找”做到地球人都不能优化的地步。 当有很多数据灌到我的树中时,我肯定会希望最好是以“完全二叉树”的形...
分类:
其他好文 时间:
2015-01-16 13:00:44
阅读次数:
170
堆:是一种完全二叉树的数据结构,并且具有每个非叶子节点(索引i,从0开始的话)的值大于其左右子节点(2*i+1)的值(大根堆),或者小于其左右子节点(2*i+2)的值(小根堆)。堆的性质决定了其根节点的值必然整个堆中的最大值或者最小值,因此使用堆的这个特性,发明了堆排序。堆排序的大致原理: 1. ....
分类:
编程语言 时间:
2015-01-15 15:47:15
阅读次数:
212
完全二叉树 首先让我们回顾一下完全二叉树的两个性质: 性质1:具有n个结点的完全二叉树的深度为[logn](向下取整)+1。 性质2:若对含 n 个结点的完全二叉树从上到下且从左至右进行 1 至 n 的编号,则对完全二叉树中任意一个编号为 i 的结点: (1) 若 i=1,则该结点是二叉树的根,无双亲,否则,编号为 [i/2](向下取整)的结点为其双亲结点; (2) 若 2i>n,...
分类:
编程语言 时间:
2015-01-13 21:40:06
阅读次数:
221
判断完全二叉树:
完全二叉树,除最后一层外,每一层上的节点树都达到了最大值;在最后一层上只缺少右边的若干节点!
算法思路:
按层次(从上到下,从左到右)遍历二叉树,当遇到一个节点的左子树为空时,则该节点右子树必须为空,且后面遍历的节点左
右子树都必须为空,否则不是完全二叉树。
代码:
bool IsCompleteBTree(BTree* pRoot)
{
if (pRoot =...
分类:
编程语言 时间:
2015-01-12 13:06:28
阅读次数:
475
一. 二叉堆的性质 堆是一种具有堆序性的完全二叉树. 作为一种完全二叉树, (假定空树的高度是-1)它的高度是floor(logN), 高度为h的结点有2^h到2^(h+1) - 1个, 父节点的下标为floor(i/2), 左孩子的下标为2i, 右孩子的下标为2i+1 而所谓堆序性就是(以最小堆为...
分类:
其他好文 时间:
2015-01-12 09:14:35
阅读次数:
133
堆是一种完全二叉树,因此可以用数组来表示。给定节点下标i,1 #define PARENT(i) ((i) >> 1)2 3 #define LEFT(i) ((i) = A[i]堆排序的原理为:1、首先构建一棵大顶堆2、交换根节点和堆的最后一个节点,堆大小减一3、重复2,直达堆大小为1voi...
分类:
编程语言 时间:
2015-01-09 00:05:19
阅读次数:
196
堆排序的思想: 堆是一种数据结构,可以将堆看作一棵完全二叉树,这棵二叉树满足,任何一个非叶节点的值都不大于(或不小于)其左右孩子节点的值。 将一个无序序列调整为一个堆,就可以找出这个序列的最大值(或最小值),然后将找出的这个值交换到序列的最后一个,这样有序序列就元素就增加一个,无序序列元素就减少一个...
分类:
编程语言 时间:
2015-01-06 13:31:23
阅读次数:
204
(二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。二叉堆可以分为两种形式:最大堆和最小堆。若将记录按从大到小排列,建“小”顶堆。若将记录按从小到大排,建“大”顶堆。说明:在堆排序算法中,我们使用的是最大堆,最小堆通常用于构造优先队列。算法分析:时间复杂度是O(nlogn)。堆排序属于原址排序:...
分类:
编程语言 时间:
2015-01-05 23:09:50
阅读次数:
390
【简介】
二叉查找树是一种数据结构,它支持多种动态集合操作。
在二叉查找树上执行的基本操作的时间与树的高度成正比。对于一棵含有n个节点的完全二叉树,这些操作的最坏情况运行时间为O(n)。
【结构体】
一棵二叉查找树按二叉树结构来组织的。
// 二叉查找树节点
struct TreeNode {
int val;
TreeNode *left;
Tree...
分类:
编程语言 时间:
2015-01-02 16:06:45
阅读次数:
209
1. 堆 二叉堆是一个数组,它可以被看成一个近似的完全二叉树。 二叉堆有两种形式:最大堆和最小堆。在最大堆中,父节点的值总是大于等于任何一个子节点的值。因此,堆中的最大元素放在根节点中,并且在任一子树中,该字数包含的所有节点的值都不大于该子树根节点的值。最小堆是指父节点的值总是小于或等于任一子节.....
分类:
编程语言 时间:
2014-12-30 14:56:14
阅读次数:
209