【算法导论】第九课 二叉搜索树

本节课主要介绍了一种数据结构——二叉搜索树


二叉搜索树的定义简单来说,对于每一个节点,其左子节点都比它小,右子节点都比它小


对二叉搜索树进行中序遍历,即可得到序列的从小到大排序


对于相同数据的不同给定顺序,构造的二叉搜索树高度会不一样,最坏情况二叉搜索树的高度会达到n,此时时间复杂度为O(n^2),而一般情况下二叉树平均高度为O(lgn),时间复杂度为O(nlogn),是不是让人想到了快速排序?没错,二叉搜索树的排序在本质上和快速排序是一样的,只是比较的顺序不同而已,因此我们可以采用随机化算法,先将给定的数据打乱,然后再进行BST,这样可以保证时间复杂度为O(nlgn)


既然二叉搜索树的BST排序和快速排序效率相同,那么我们为什么还要研究它呢?原因在于,本数据结构能够支持更加快速的动态操作,诸如删除、修改、插入等操作,具体实现方式请听下回分解:-D


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值