二叉查找树特性,优点,缺点

二叉查找树(Binary Search Tree)是一种数据结构,其每个节点的键大于左子树所有节点的键且小于右子树的键。这种结构提供了较链表更快的查询效率,同时在处理大量动态数据时优于数组。然而,非完全二叉树可能导致空间浪费,而链式存储则可能导致查找效率降低。
概述:
  • 二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树.是数据结构中的一类.在一般情况下,查询效率比链表结构要高.
定义:
  • 一棵二叉查找树是一棵二叉树,每个节点都含有一个Comparable的键(以及对应的值).
  • 每个节点的键都大于左子树中任意节点的键而小于右子树中任意节点的键.
  • 每个节点都有两个链接,左链接、右链接,分别指向自己的左子节点和右子节点,链接也可以指向null.
  • 尽管链接指向的是节点,可以将每个链接看做指向了另一棵二叉树.这个思路能帮助理解二叉查找树的递归方法.
二叉查找树的特性:
  • 1.左子树上所有结点的值均小于或等于它的根结点的值.
  • 2.右子树上所有结点的值均大于或等于它的根结点的值.
  • 3.左、右子树也分别为二叉排序树.
二叉查找树,如下图:

在这里插入图片描述

二叉查找树的优点:
  • 二叉排序树是一种比较有用的折衷方案.
    数组的搜索比较方便,可以直接用下标,但删除或者插入某些元素就比较麻烦.
    链表与之相反,删除和插入元素很快,但查找很慢。
    二叉排序树就既有链表的好处,也有数组的好处。
    在处理大批量的动态的数据是比较有用.
二叉查找树的缺点:
  • 顺序存储可能会浪费空间(在非完全二叉树的时候),但是读取某个指定的节点的时候效率比较高O(0)
  • 链式存储相对二叉树比较大的时候浪费空间较少,但是读取某个指定节点的时候效率偏低O(nlogn)

参考:https://mp.weixin.qq.com/s/-8JFh5iLr88XA4AJ9mMf6g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值