import java.util.LinkedList;import java.util.Queue;public class judgeTree { public static boolean judge(TreeNode root){ if(root == null) return tru...
分类:
其他好文 时间:
2015-09-23 01:04:55
阅读次数:
194
一步一步理解线段树目录一、概述二、从一个例子理解线段树 创建线段树 线段树区间查询 单节点更新 区间更新三、线段树实战--------------------------一 概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动...
分类:
其他好文 时间:
2015-09-22 13:02:50
阅读次数:
206
现在来看,堆的含义大概有两种,一种是数据结构,一种是在一些语言中所定义的“垃圾回收机制”,如Java,在书本上的开篇强调了这两者,并强调若非特殊说明,皆把堆看做是一种数据结构。(二叉)堆的定义:1)它是一个数组,可以被看成是一棵近似的完全二叉树,树上的每一个节点看做是数组中的每一个元素。2)堆分为最...
分类:
编程语言 时间:
2015-09-20 16:18:56
阅读次数:
240
1. 预备知识 (1) 基本概念 如图,(二叉)堆一个数组,它可以被看成一个近似的完全二叉树。树中的每一个结点对应数组中的一个元素。除了最底层外,该树是完全充满的,而且从左向右填充。堆的数组A包括两个属性:A.length给出了数组的长度;A.heap-size表示有多少个堆元素保存在该数组中(因为...
分类:
编程语言 时间:
2015-09-17 21:22:24
阅读次数:
351
堆栈这个概念存在于数据结构中,也存在于jvm虚拟机中,在这两个环境中是截然不同的意思。 在数据结构中,堆栈是:堆 和栈两种数据结构,堆是完全二叉树,堆中各元素是有序的。在这个二叉树中所有的双亲节点和孩子...
分类:
其他好文 时间:
2015-09-17 17:49:14
阅读次数:
250
二叉树的存储结构有两种:顺序存储结构和链式存储结构。顺序存储结构对于满二叉树和全然二叉树来说,能够将其数据元素逐层存放到一组连续的存储单元中,如图6-3 所看到的。用一维数组来实现顺序存储结构时。将二叉树中编号为i 的结点存放到数组中的第i 个分量中。如此依据性质6.7,能够得到结点i 的父结点、左...
分类:
其他好文 时间:
2015-09-16 12:44:10
阅读次数:
314
#include "stdio.h"#include "malloc.h"int count;typedef struct node{char data;struct node *LChild;struct node *RChild;}BiTNode,*BiTree;void creatbitree...
分类:
其他好文 时间:
2015-09-14 09:26:48
阅读次数:
176
平衡查找树在之前的二分搜索和二叉查找树中已经能够很好地解决查找的问题了,但是它们在最坏情况下的性能还是很糟糕,我们可以在查找二叉树中,每次动态插入或删除某结点时,都重新构造为完全二叉树,但是这样代价太大,所以就引出了平衡查找树。详细的数学定义就不给出了,因为既不直观也记不住,直接给出一个平衡二叉树的...
分类:
其他好文 时间:
2015-09-10 12:27:57
阅读次数:
253
完全二叉树——若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。解题思路:满二叉树有一个性质是节点数等于2^h-1(h为高度),所以可以这样判断节点的左右高度是不是一样,如果是一样说明是满二叉树,就可以用...
分类:
编程语言 时间:
2015-09-07 22:37:44
阅读次数:
178
---------9.7cf 575 hhttp://codeforces.com/problemset/problem/575/H题意不懂怎么描述诶,大意就是先有一颗满二叉树,然后从根到叶子的路上有n条边染成红色,n条边染成蓝色,问满足这样条件的树有多少个节点想到一点点,就是每次扩展下一层的时候,...
分类:
其他好文 时间:
2015-09-07 14:20:43
阅读次数:
180