二叉排序树(Binary Sort Tree):或者是一颗空树,或者是具有以下性质的树:(1)若它的左子树不空,则左子树上所以结点的值均小于它的根节点的值;(2)若它的右子树不空,则右子树上的所以结点的值均大于它的根节点的值;(3)它的左、右子树也分别是二叉排序树。
二叉排序树的基本操作均可以在O(h)时间内完成(算法导论p165)。
相关操作代码如下:
int InsertBST(BiTr...
分类:
其他好文 时间:
2014-07-09 13:12:09
阅读次数:
160
set与map容器 分类: C/C++ 2013-08-25 19:21 560人阅读 评论(0) 收藏 举报 首先来看看set集合容器:set集合容器实现了红黑树的平衡二叉树数据结构,在插入元素时它会自动调整二叉树的排列,把该元素放到适当的位置,并且保证左右子树平衡。平衡二叉检索树采用中序...
分类:
其他好文 时间:
2014-07-06 16:14:06
阅读次数:
286
判断二叉树是不平衡树 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一颗二叉树的根结点, 判断该树是不是平衡二叉树.二叉平衡树: 任意结点的左右子树的深度相差不超过1.使用后序遍历的方式, 并且保存左右子树的深度, 进行比较.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Aut...
分类:
其他好文 时间:
2014-07-06 12:22:46
阅读次数:
161
定义
二叉搜索树(Binary Search Tree)或称二叉查找树,也称二叉排序树(Binary Sort Tree)。它或者是一棵空树,或者是具有下列性质的二叉树:
若左子树不空,则左子树上所有节点的值均小于它的根节点的值;
若右子树不空,则右子树上所有节点的值均大于它的根节点的值;
左、右子树也分别为二叉搜索树;
性质
二叉搜索树与普通二叉树相比,有一些优秀的特征或性质:
由于节点是有序排放的:左子树<根节点<右子树。故在查找一个节点的时候,只需先和根节点比较,再决定是进入左子树还是右子树查找。...
分类:
其他好文 时间:
2014-07-06 11:06:37
阅读次数:
167
二叉树的深度 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一棵二叉树的根节点, 求该树的深度.依次选择最深的左右子树, 然后递归加1.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Author: Spike
*/
/*eclipse cdt, gcc 4.8.1*/
#...
分类:
其他好文 时间:
2014-07-06 00:39:59
阅读次数:
152
二叉查找树C语言实现
1. 二叉查找树的定义:
左子树不为空的时候,左子树的结点值小于根节点,右子树不为空时,右子树的结点值大于根节点,左右子树分别为二叉查找树
2. 二叉查找树的最左边的结点即为最小值,要查找最小值,只需遍历左子树的结点直到为空为止,同理,最右边的结点结尾最大值,要查找最大值,只需遍历右子树的结点直到为空为止。二叉查找树的插入查找和删除都是通过递归的方式...
分类:
编程语言 时间:
2014-07-01 07:33:16
阅读次数:
293
二叉查找树C语言实现
1. 二叉查找树的定义:
左子树不为空的时候,左子树的结点值小于根节点,右子树不为空时,右子树的结点值大于根节点,左右子树分别为二叉查找树
2. 二叉查找树的最左边的结点即为最小值,要查找最小值,只需遍历左子树的结点直到为空为止,同理,最右边的结点结尾最大值,要查找最大值,只需遍历右子树的结点直到为空为止。二叉查找树的插入查找和删除都是通过递归的方式...
分类:
编程语言 时间:
2014-06-30 19:34:32
阅读次数:
246
1. 二叉查找树的定义:
左子树不为空的时候,左子树的结点值小于根节点,右子树不为空时,右子树的结点值大于根节点,左右子树分别为二叉查找树
2. 二叉查找树的最左边的结点即为最小值,要查找最小值,只需遍历左子树的结点直到为空为止,同理,最右边的结点结尾最大值,要查找最大值,只需遍历右子树的结点直到为空为止。二叉查找树的插入查找和删除都是通过递归的方式来实现的,删除一个结点的时候,先找到这个结点...
分类:
编程语言 时间:
2014-06-29 22:08:33
阅读次数:
316
堆(heap)是一种非常重要的数据结构(这里我们讨论的是二叉堆),它是一棵满足特定条件的完全二叉树,堆的定义如下:
堆是一棵树完全二叉树,对于该完全二叉树中的每一个结点x,其关键字大于等于(或小于等于)其左右孩子结点,而其左右子树均为一个二叉堆。...
分类:
其他好文 时间:
2014-06-27 08:41:58
阅读次数:
225
AVLTree即(Adelson-Velskii-Landis Tree),是加了额外条件的二叉搜索树。其平衡条件的建立是为了确保整棵树的深度为O(nLogn)。平衡条件是任何节点的左右子树的高度相差不超过1.在下面的代码中,编程实现了AVL树的建立、查找、插入、删除、遍历等操作。采用C++类封装。...
分类:
编程语言 时间:
2014-06-25 13:32:44
阅读次数:
353