二叉查找树-总结
来源:互联网 发布:澳洲国立大学 知乎 编辑:程序博客网 时间:2024/06/01 20:43
定义:
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
(4)没有键值相等的节点。
查找:
查找对于二叉树查找树来说很简单这也是二叉查找树的优势所在,和目标值一样查找成功,比当前节点大往右子树查找,比当前节点小往左子树查找,递归下去即可。算法复杂厚度为O(logn)。
插入:
二叉查找树插入都是叶子节点插入,首先第一步是查找,从根节点起,如果根节点为NULL,直接插入根节点即可,如果插入数据比插入节点大,往右子树插入,如果比插入节点小插入左子树,如果和插入节点相等,则在节点计数器加1。算法复杂度O(logn)。
查找树的建立:
建立就相当于把一个一个数,往一课树种做插入动作,算法复杂度O(nlogn)。
删除:
1、二叉查找树对的删除相对复杂点。如果删除节点没有左子树或者没有右子树那么只要把左儿子或者右儿子替换被删节点即可。
2、如果既没有左儿子也没有右儿子,直接删除即可,让父亲把指向儿子的指针置为空。
3、如果既有左儿子也有右儿子,找到右子树中的最小值替换被删除节点,同时删除改最小值(递归)算法复杂度为O(logn)
0 0
- 查找:二叉查找树总结
- 二叉查找树-总结
- 二叉查找树总结
- 二叉查找树总结
- 二叉查找树总结
- 二叉查找树BST总结
- 二叉查找树专题总结
- 二叉查找树专题总结
- lintcode 二叉查找树总结
- lintcode二叉查找树总结
- 查找算法总结(3)--二叉查找树
- 二叉查找树的遍历总结
- LeetCode总结 -- 二叉查找树篇
- 学习《算法导论》 二叉查找树 总结
- LintCode-二叉查找树专题总结
- lintcode——二叉查找树总结
- 查找算法总结(4)--平衡二叉树
- 各种二叉树和查找结构总结
- 关于VS2010无法打断点的问题
- Android Selector 与 Shape 基本用法
- hdu 1236 排名
- Tuxedo 通讯方式解析(二)
- 设计模式读书笔记:Composite(组合)
- 二叉查找树-总结
- makefile里PHONY的相关介绍
- java 中json的使用
- iOS-开发UITableView-1
- [良心推荐] 红杏公益版 hx.gy
- 网络定位、A-GPS和GPS的关系
- iOS AES128 CBC No Padding加密解密 (转载)
- icehouse live-migration
- 【前端】如何成长为一名优秀的前端工程师---