二叉树系列之二叉搜索树BST
2024-09-02 19:54:32
特征:
1.每个元素有唯一键值
2.任意一个结点键值,比它左子树的所有结点的键值大,比它右子树的所有结点的键值小
数据的基本操作:
1>建树和插入。逐个插入其他所有数据。新插入的数据于一个最底层的叶子结点,而非中间插入替代。
2>查询。从根结点开始递归。
3>删除。删除后仍是一个BST。
4>遍历。中序遍历后得到一个从小到大的排序。
关键:是否平衡
BST算法有:AVL树、红黑树、Splay树、Treap树、SBT树 等
BST是一个动态维护的有序数据集,用DFS对其进行中序遍历可以高效输出字典序、查找第k大的数等。STL中的set和map是用二叉搜索树(红黑树)实现的,检索和更新的复杂度是O(log n)
最新文章
- [No00005B] word快速插入当前时间&;怎样一次性删除文档中的全部链接
- Photoshop的评价
- erlang学习笔记(shell命令)
- Linux环境下stl库使用(vector)
- css文本溢出省略号
- 一张图让你看懂各开源License[转]
- 【转载】逃离adapter的地狱-针对多个View type的组合实现方案
- 关于-webkit-tap-highlight-color的一些事儿
- Fragment实现底部Tab,切换可保存状态
- group by 和count 联合使用问题
- Itunes制作手机铃声,图文版
- [2017-08-07]ABP系列——QuickStartA:概述、思想、入门和HelloWorld
- for循环找出2到100的质数(素数)
- 数据结构-线性表的链式存储相关算法(C语言实现)
- Linux inode与文件系统关系
- 常用Common集合
- nginx安装扩展 sub_filter&;http_ssl_module
- 在websocket中怎么样注入service类
- R语言之——字符串处理函数
- 【期望DP】BZOJ4008- [HNOI2015]亚瑟王
热门文章
- java时间日期API
- postgresql添加系统表报错
- VsCode——修改左侧目录缩进
- 230222 Radiated Immunity Pre-compliance Test
- linux中的环境变量/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc
- mysql表关联更新
- jmeter 添加断言和查看断言结果
- 为什么用postman
- JS回文检查(FreeCodeCamp项目)
- 关于 echarts 使用 geo 制作地图 tooltip 不显示问题(转)