二叉树、平衡二叉树、完全二叉树、满二叉树
2015-11-10 22:46
435 查看
基本概念
结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层。二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度。
二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的(i-1)次方个结点;深度为k的二叉树至多有2的k次
− 1个结点;对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0 = n2 + 1。
树和二叉树的2个主要差别:
1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;
2. 树的结点无左、右之分,而二叉树的结点有左、右之分。……
满二叉树
满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。
完全二叉树
完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
平衡二叉树
当且仅当两个子树的高度差不超过1时,这个树是平衡二叉树。(同时是排序二叉树)平衡二叉树,又称AVL树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的高度之差之差的绝对值不超过1.。
常用算法有:红黑树、AVL树、Treap等。
http://blog.csdn.net/hytdsky/article/details/4783707 http://blog.csdn.net/yelbosh/article/details/8043476
相关文章推荐
- (四)文件搜索命令
- linux下编译安装php各种报错大集合
- Android数据库使用(LitePal)
- tableView的刷新
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常解决
- 黑马程序员——C语言基础 03—基本运算符
- 【Asphyre引擎】关于AsphyreTypes中OverlapRect的改动,都是泪啊!!!
- Looper.myLooper().quit() 报 NullPointerException
- 数据结构字符串块链实验
- iOS常见问题总结(四)
- Velt中的IntelliSense路径配置
- [kuangbin带你飞]专题一 简单搜索N - Find a way(HDU 2612)
- 对TCP/IP网络协议的深入浅出归纳
- 【mysql】关于临时表
- POJ1011- DFS+剪枝
- HDU 1561 树形DP
- Android学习之动态调用碎片
- hdu4192
- 算数-平均数、中位数和众数平均数
- 决策树——教材上的数据集