对于此题的解释,在注释中解释的十分详细,就不在此赘述。另外。。之前的一篇文章中提到了关于二叉树的详细说明,以及非递归、递归遍历二叉树的多种方法。
链接在此~二叉树之非递归遍历 漫谈二叉树之递归遍历
废话少说,代码搞起/**
* Created by zhangshuyou on 2015/5/23.
*/
/**
* 题目描述
* 输入一个整数数组,判断该数组是不是某二...
分类:
其他好文 时间:
2015-05-23 14:16:38
阅读次数:
121
【数据结构】——排序算法——1.2、二叉树排序
一、先上维基的图:二叉树排序wiki
图一、二叉树排序
二、描述
二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordered
binary tree),排序二叉树(英语:sorted binary tree),是指一棵空树或者具有下列性质的二叉树:
若任意节点的左子...
分类:
编程语言 时间:
2015-05-21 10:52:21
阅读次数:
190
分析:1.二叉树的中序遍历正好是排好序的遍历方式,因此可以采用中序递归的方式来处理;2.可以用类似输出流的方式来”输出“节点到链表末尾;3.可以用局部变量来简化判断,优化程序。程序:typedefstructtagTreeNode_s{intnValue;tagTreeNode_s*pLeftNode;tagTreeNode_s*pRight..
分类:
编程语言 时间:
2015-05-20 15:07:25
阅读次数:
116
分析:1.二叉树的中序遍历正好是排好序的遍历方式,因此可以采用中序递归的方式来处理;2.可以用类似输出流的方式来”输出“节点到链表末尾;3.可以用局部变量来简化判断,优化程序。程序:typedefstructtagTreeNode_s{intnValue;tagTreeNode_s*pLeftNode;tagTreeNode_s*pRight..
分类:
编程语言 时间:
2015-05-20 15:06:27
阅读次数:
119
概念:线段树(Segment Tree)是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左子树表示的区间为[a,(a+b)/2],右子树表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树。叶节点数目为N,即整个线段区间的长度。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。——摘自维基百科...
分类:
其他好文 时间:
2015-05-19 10:52:02
阅读次数:
114
题目:
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。
思路:
在后序遍历得到的序列中,最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分:第一部分是左子树结点的值,它们都比根结点的值小;第二部分是右子树结点的值,它们都比根结点的值大。
代码如下:
bool Verif...
分类:
其他好文 时间:
2015-05-18 23:00:16
阅读次数:
209
二叉排序树(二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。)或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根...
分类:
其他好文 时间:
2015-05-17 16:32:27
阅读次数:
130
红黑树是平衡搜索树的一种,可以保证在最坏情况下基本动态集合操作的时间复杂度为Lgn。红黑树在二叉搜索树的基础上结点增加了一个属性color,值为black或者red,即一个节点的属性有:left,right,p,color,key。同时,红黑树使用一个哨兵T_NIL代替以一般搜索树中的NULL,T_NIL也是一个普通的结点,也具有以上5个属性,它的color属性为black,其他属性为任意值。即叶子结点的左右孩子全部指向哨兵,以及根节点的父指针也指向哨兵。...
分类:
编程语言 时间:
2015-05-17 10:50:12
阅读次数:
150
二叉查找树某个结点的左子树的值都比它小,其右子树的值比它大。
要实现的主要操作
代码实现
#include
using namespace std;
// BST的结点
typedef struct node
{
int key;
struct node *lChild, *rChild,*parent;
}Node, *BST;
BST lvis=NULL...
分类:
编程语言 时间:
2015-05-16 12:03:00
阅读次数:
202