一棵树的镜面映射指的是对于树中的每个结点,都将其子结点反序。例如,对左边的树,镜面映射后变成右边这棵树 。 我们在输入输出一棵树的时候,常常会把树转换成对应的二叉树,而且对该二叉树中只有单个子结点的分支结点补充一个虚子结点“$”,形成“伪满二叉树”。 例如,对下图左边的树,得到下图右边的伪满二叉树 ...
分类:
其他好文 时间:
2017-07-02 19:04:04
阅读次数:
257
二叉树:二叉树是每个节点最多有两个子树的树结构。 满二叉树:一棵深度为K且有2^k-1个结点的二叉树称为满二叉树。 完全二叉树:每个结点与其对应深度的满二叉树一一对应。 二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树: A. 左子树若不为空,则左子树上所有节点的值均小于它的根结点值; B. ...
分类:
其他好文 时间:
2017-06-30 01:11:09
阅读次数:
259
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。 胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利 ...
分类:
其他好文 时间:
2017-06-29 17:48:45
阅读次数:
149
深入理解Java PriorityQueue PriorityQueue 本文github地址 Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让 ...
分类:
编程语言 时间:
2017-06-27 23:40:05
阅读次数:
331
转自:http://blog.csdn.net/metalseed/article/details/8039326 一:线段树基本概念 1:概述 线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能 ...
分类:
其他好文 时间:
2017-06-27 10:58:24
阅读次数:
274
题意:关于一只要续命的青蛙(雾),一颗完全二叉树,它的标号正如我们所期望的根为1,左儿子为父节点*2,右儿子为父节点*2+1,然后老青蛙从根往下走,一共走K步,它需要n个灵魂,每走过一个点,可以减去或加上这个点的标号,输出一种可能方案,输入数据保证至少有一组解 1=<n<=1e9,N<=2k<=26 ...
分类:
其他好文 时间:
2017-06-23 15:47:14
阅读次数:
152
对于堆排序会涉及一些完全二叉树知识。对于待排序列{10, 2, 11, 8, 7},把它看成是一颗完全二叉树,如下图所示。 堆分为大根堆和小根堆:大根堆表示每个根节点均大于其子节点(L(i) >= L(2i) && L(i) >= L(2i + 1)),小根堆表示每个根节点均小于其子节点(L(i) ...
分类:
编程语言 时间:
2017-06-21 21:55:05
阅读次数:
245
来源:http://blog.csdn.net/turne/article/details/50488378 看数据结构书的时候碰上的内容,我自己将它化成关于级数的题,然后自己算的过程,基本就是等比级数和等差级数的混合内容。 满二叉树来分析折半查找的平均长度 h=层高 n=节点数 看数据结构书的时候 ...
分类:
其他好文 时间:
2017-06-20 16:24:37
阅读次数:
160
1、概述 线段树,也叫区间树,是一个完全二叉树,它在各个节点保存一条线段(即“子数组”),因而常用于解决数列维护问题,它基本能保证每个操作的复杂度为O(lgN)。 2、线段树基本操作 线段树的基本操作主要包括构造线段树,区间查询和区间修改。 (1) 线段树构造 首先介绍构造线段树的方法:让根节点表示 ...
分类:
其他好文 时间:
2017-06-13 17:05:12
阅读次数:
253
定义 特点 特殊的二叉树 斜树 顾名思义,其中的结点都只有一个,又分为左斜树和右斜树,这时候又有疑惑了,这种数据结构不是有线性表一样吗,没错,线性表是一种特殊的树 满二叉树 完全二叉树 这个定义有点绕,简单来说就是所有的结点必须是有顺序的,不能跳跃存在 二叉树的性质 1.在二叉树的第i层至多有2的( ...
分类:
其他好文 时间:
2017-06-13 10:02:37
阅读次数:
129