浅谈数据结构之树(一)

基本概念

链表、栈和队列都是一对一的线性结构,树是一对多的线性结构。
「一对多」就是指一个元素只能有一个前驱,但可以有多个后继。
结点拥有的子树数被称为结点的度(Degree)。度为0的结点称为叶节点(Leaf)或终端结点,度不为0的结点称为分支结点。除根结点外,分支结点也被称为内部结点。结点的子树的根称为该结点的孩子(Child),该结点称为孩子的双亲父结点。同一个双亲的孩子之间互称为兄弟。<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
B是一种平衡查找,其特点是能够在相对较短的时间内完成查找、插入和删除操作,因此在文件系统和数据库系统中被广泛应用。 B的定义如下: 1.每个节点最多有m个子节点; 2.除根节点和叶子节点外,其他节点至少有ceil(m/2)个子节点; 3.如果根节点不是叶子节点,则至少有两个子节点; 4.所有叶子节点都在同一层次上。 B的基本操作包括:查找、插入和删除。 查找操作与二叉查找类似,从根节点开始递归查找。插入和删除操作需要维护B的平衡性,即保证每个节点的子节点数在一定范围内。 插入操作的过程如下: 1.从根节点开始查找,找到合适的叶子节点; 2.如果叶子节点未满,则直接插入; 3.如果叶子节点已满,则进行节点分裂,将中间的关键字上移到父节点,并将左右节点分别作为父节点的子节点。 删除操作的过程如下: 1.从根节点开始查找,找到待删除的关键字所在的节点; 2.如果待删除的关键字在叶子节点上,直接删除; 3.如果待删除的关键字在非叶子节点上,找到它的前驱或后继关键字,用它来代替待删除的关键字,并删除前驱或后继关键字。 B的性能优于二叉查找,因为B的每个节点可以存储多个关键字,从而减少查找路径的长度。B的平衡性也能保证的高度相对较小,从而提高查找、插入和删除操作的效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值