16、二叉树:概念、操作与遍历

二叉树:概念、操作与遍历

1. 二叉树基础

在编程的世界里,树是一种常见的数据结构,就像数组和链表一样。单链表可以看作是一种特殊的树,将单链表顺时针旋转 90 度,初始节点在顶部,最终节点在底部,每个节点只有一个子节点,这就是多路树的一个特例,我们可以称单链表为一元树。

多路树是一种更通用的概念,除根节点(树顶部的节点)外,所有节点都有且只有一个父节点,可以有零个或多个子节点。如果每个节点最多有 n 个子节点,这样的树被称为 n 元树。

当每个节点最多有两个子节点时,这种结构就是二叉树。习惯上,节点的两个子节点分别称为左子节点和右子节点。以下是一个二叉树节点的记录布局:

type
  TtdChildType = (
    {types of children}
    ctLeft,
    {..left child}
    ctRight);
  {..right child}
  TtdRBColor = (
    {colors for the red-black tree}
    rbBlack,
    {..black}
    rbRed);
  {..red}
  PtdBinTreeNode = ^TtdBinTreeNode;
  TtdBinTreeNode = packed record
    btParent : PtdBinTreeNode;
    btChild  : array [TtdChildType] of PtdBinTreeNode;
    btData   : pointer;
    case boolean of
      fals
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值