二叉树

续前两天二叉树情缘

我们学习二叉树的增删查改没有意义,要去学习控制他的结构,因为以后会学到搜索二叉树,在二叉树的基础上还会学到AVL树和红黑树

二叉树的存储结构

二叉树一般可以使用两种结构存储,一种顺序结构,一种链式结构。

1. 顺序存储

顺序结构存储就是使用==数组来存储==,一般使用数组==只适合表示完全二叉树==,因为不是完全二叉树会有空间的浪费。而现实中使用中只有堆才会使用数组来存储,关于堆我们后面的章节会专门讲解。==二叉树顺序存储在物理上是一个数组,在逻辑上是一颗二叉树。==

image-20211107231851441

2. 链式存储

二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。链式结构又分为二叉链和三叉链,当前我们学习中一般都是二叉链,后面课程学到高阶数据结构如红黑树等会用到三叉链。 image-20211107233257743