特征:

  1.每个元素有唯一键值

  2.任意一个结点键值,比它左子树的所有结点的键值大,比它右子树的所有结点的键值小

数据的基本操作:

  1>建树和插入。逐个插入其他所有数据。新插入的数据于一个最底层的叶子结点,而非中间插入替代。

  2>查询。从根结点开始递归。

  3>删除。删除后仍是一个BST。

  4>遍历。中序遍历后得到一个从小到大的排序。

关键:是否平衡

BST算法有:AVL树、红黑树、Splay树、Treap树、SBT树 等

BST是一个动态维护的有序数据集,用DFS对其进行中序遍历可以高效输出字典序、查找第k大的数等。STL中的set和map是用二叉搜索树(红黑树)实现的,检索和更新的复杂度是O(log n)

最新文章

  1. [No00005B] word快速插入当前时间&怎样一次性删除文档中的全部链接
  2. Photoshop的评价
  3. erlang学习笔记(shell命令)
  4. Linux环境下stl库使用(vector)
  5. css文本溢出省略号
  6. 一张图让你看懂各开源License[转]
  7. 【转载】逃离adapter的地狱-针对多个View type的组合实现方案
  8. 关于-webkit-tap-highlight-color的一些事儿
  9. Fragment实现底部Tab,切换可保存状态
  10. group by 和count 联合使用问题
  11. Itunes制作手机铃声,图文版
  12. [2017-08-07]ABP系列——QuickStartA:概述、思想、入门和HelloWorld
  13. for循环找出2到100的质数(素数)
  14. 数据结构-线性表的链式存储相关算法(C语言实现)
  15. Linux inode与文件系统关系
  16. 常用Common集合
  17. nginx安装扩展 sub_filter&http_ssl_module
  18. 在websocket中怎么样注入service类
  19. R语言之——字符串处理函数
  20. 【期望DP】BZOJ4008- [HNOI2015]亚瑟王

热门文章

  1. java时间日期API
  2. postgresql添加系统表报错
  3. VsCode——修改左侧目录缩进
  4. 230222 Radiated Immunity Pre-compliance Test
  5. linux中的环境变量/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc
  6. mysql表关联更新
  7. jmeter 添加断言和查看断言结果
  8. 为什么用postman
  9. JS回文检查(FreeCodeCamp项目)
  10. 关于 echarts 使用 geo 制作地图 tooltip 不显示问题(转)