二叉堆(没学会)

本文介绍了二叉堆和二叉搜索树这两种重要的树形数据结构。二叉堆是一种基于完全二叉树的结构,分为大顶堆和小顶堆,满足特定的父节点与子节点值的比较规则。二叉搜索树则要求左子树所有节点小于父节点,右子树所有节点大于父节点,从而实现快速查找。这两种数据结构在计算机科学中有着广泛应用。
摘要由CSDN通过智能技术生成

1.二叉堆概念

我们知道,树有很多种,最常用的就是二叉树了。二叉树又有满二叉树和完全二叉树(完全二叉树,叶节点最多只出现在最底层和次底
层,而且最底层的叶节点都连续集中在最左边,每个内部节点都有两个子节点, 最多可有1 个节点例外;完全二叉树可以用非嵌套列表表示,如果节点的下标为p ,那么其左子节点下标为2p ,右子节点为2p+1 ,其父节点下标为p//2)。

而二叉堆,就是基于完全二叉树的一种数据结构。它有以下两个特性。

  • 首先它是一个完全二叉树
  • 其次,堆中的任意一个父节点的值都大于等于(或小于)它的左右孩子节点。
    根据第二个特性,就把二叉堆分为大顶堆(或叫最大堆),和小顶堆(或叫最小堆)。顾名思义,大顶堆,就是父节点大于等于左右孩子节点的堆,小顶堆就是父节点小于左右孩子节点的堆。
    大顶堆
    小顶堆

2.二叉搜索树(BST,Binary Search Tree)

比父节点小的key都出现在左子树,比父节点大的key都出现在右子树.
举例
实现二叉查找树保存key,实现key的快速搜索

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值