![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/d99bd9af2cfd91ee74e99af376c999fe.png)
逻辑结构
线性结构
线性结构(线性表)有 顺序存储和链式存储
- 栈 STACK
栈又称为 后进先出(First In Last Out) 的线性表,简称 FILO 结构
我们把允许插入和删除的一端称为 栈顶(top),另一端称为 栈底(bottom),不含任何任何数据元素的栈称为 空栈
- 队列 queue
是只允许在一端进行插入操作,而在另一端进行删除操作的线性表
队列 是一种 先进先出(First In First Out) 的线性表,简称 FIFO 结构
允许删除的一端称为对头,允许插入的一端称为队尾
非线性结构
- 树
没有父节点的节点称为根节点,每个节点有零个或多个子节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树;
- 二叉树是树的特殊一种,具有如下特点:
1、每个结点最多有两颗子树,结点的度最大为2。
2、左子树和右子树是有顺序的,次序不能颠倒。
3、即使某结点只有一个子树,也要区分左右子树。
- 遍历二叉树的几种方式
前序遍历 (中左右)
> 访问根结点;
> 先序遍历根结点的左子树;
> 先序遍历根结点的右子树。
中序遍历 (左中右)
> 中序遍历根结点的左子树;
> 访问根结点;
> 中序遍历根结点的右子树。
后序遍历 (左右中)
> 后序遍历根结点的左子树;
> 后序遍历根结点的右子树。
> 访问根结点;
存储结构
顺序存储 链式存储
一段连续的内存空间。
不连续的内存空间