数据结构-树(tree)

本篇文章先介绍关于树的一些基础概念。

常见的数组、链表、栈和队列都是线性结构,在存储大量数据时访问速度比较慢,而树(tree)则是一种非线性结构,使得访问时间复杂度降低到O(logn)。

生活中跟树的结构类似的结构就是族谱。每一个家族都有一个祖先,祖先生养了几个孩子,每个孩子又继续生养孩子,不断递归直到最年轻的一代成员。

族谱

树

树的专业术语:
(1) 树中一个最基本的数据称为一个节点(node),对应族谱中的每一个成员。
(2) 每个树都有一个根节点(root),这对应了族谱中最老的祖先,整个树只有一个根。还可以继续递归定义,以某个节点为一个根节点,从这个节点往下形成一棵子树(sub-tree)。
(3) 整棵树最年轻的一代,在树中称为树的叶节点(leaf node)。根节点和叶节点之间的节点称为内部节点(internal node)。
(4) 每个父辈有几个孩子,每个孩子有其父辈,还有其祖辈。父辈称为父节点(parent),孩子称为子节点(child)。每个父节点可以对应一个或者多个子节点,一个子节点只能有一个父节点。具有相同父节点的节点称为兄弟节点(siblings)
(5

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值