3、二叉树
树(Tree)是n个结点的有限集合。
度:拥有子结点的数量为结点的度,树中最大的度为树的度。
结点(节点):根结点、内部结点、叶子结点
有序树:左分支和右分支严格区分的树。
二叉树
每个结点的度最大为2的树,二叉树为有序树。
满二叉树:每层结点都是满的二叉树。
完全二叉树:在一个满二叉树中,从右下侧开始去掉若干相邻的结点,得到的树为完全二叉树。
存储结构
1、顺序存储结构
使用数组存放二叉树的元素,它只有在满二叉树或完全二叉树的情况下才不会有空间浪费。
2、链式存储结构
使用二叉链表存放二叉树的元素,每个结点包括三个域:左孩子域,值域,右孩子域。
遍历
规定左节点一定在右节点之前遍历,则二叉树的遍历可分为:
1、先序遍历(DLR):根、左子树、右子树 如:A B D E G C F
2、中序遍历(LDR):左子树、根、右子树 如:D B G E A C F
3、后序遍历(LRD):左子树、右子树、根 如:D G E B F C A
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步