美文网首页
算法导论二叉搜索树笔记

算法导论二叉搜索树笔记

作者: 琦思妙想君 | 来源:发表于2018-09-20 11:53 被阅读10次

什么是二叉搜索树

1.二叉搜索树的性质:某个节点的左孩子及其子节点的值都不大于该节点,右孩子及其子节点的值都不小于该节点
2.可以用中序遍历输入二叉搜索树的有序序列
3.可以证明遍历二叉搜索树需要 θ(n) 时间

查询二叉搜索树

1.在高度为 h 的二叉搜索树上,所有动态元素集合的查询操作都可以在 O(h) 时间内完成

插入与删除

1.插入操作的思路是从跟节点相比较一直向下寻找到某个叶子节点,然后插入到该叶子节点的位置,可以在 O(h) 时间内完成
2.删除操作比较复杂,要考虑四种情况
· 要删除的节点没有左右子树
· 有左子树或者右子树
· 左右子树都存在,且该节点的后继是该节点的右孩子
· 左右子树都存在,且该节点的后继不是该节点的右孩子(为右孩子的某个没有左孩子的孩子节点,有点绕,不用在意,这是后继的特性)
3.删除操作也可以在 O(h) 时间内完成

随机构建二叉搜索树

1.随机构建二叉搜索树,是 n 个元素以随机的顺序插入一个空树而构建成的二叉搜索树
2.可以证明随机构建的二叉搜索树高度的期望为 O(lgn)

相关文章

  • 二叉搜索树

    二叉搜索树 图解二叉树搜索算法图解:二叉搜索树算法二叉查找树(Binary Search Tree),(又:二叉搜...

  • 算法导论二叉搜索树笔记

    什么是二叉搜索树 1.二叉搜索树的性质:某个节点的左孩子及其子节点的值都不大于该节点,右孩子及其子节点的值都不小于...

  • 算法学习

    数据结构学习笔记:树与树的表示、二叉树及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树、集合及其运算算法学习笔记浅谈...

  • 【二叉搜索树】简单二叉搜索树的Java实现,还没添加很多功能

    正文之前 重温算法,今天看了下《算法导论》,二叉搜索树的内容,总算没有以前看的时候的那种晦涩感了。。。明天继续加油...

  • Binary Search Tree | 二叉查找树

    参考书:胡凡、曾磊《算法笔记》 二叉查找树BST 又称为排序二叉树、二叉搜索树、二叉排序树 BST 是数据域有序的...

  • 2019-10-22

    最优二叉树搜索算法。

  • 二叉搜索树(算法导论版)

    二叉搜索树结构 链表数据结构存储 包含key,卫星数据,左右子节点,父节点 左子树的最大值小于根节点的值小于右子树...

  • 算法导论 - 二叉搜索树(BST)

    二叉搜索树 顾名思义,一棵二叉搜索树是以一棵二叉树来组织的。如下图所示,这样一棵树可以使用一个链表数据结构来表示,...

  • 2019-10-22

    今天做了算法的最优二叉搜索树

  • Go语言数据结构和算法-BinarySearchTree(二叉搜

    Go语言数据结构和算法-BinarySearchTree(二叉搜索树) 二叉搜索树的数据结构 Insert(val...

网友评论

      本文标题:算法导论二叉搜索树笔记

      本文链接:https://www.haomeiwen.com/subject/fwwgnftx.html