数据结构与 Java 集合 API 详解
1. 栈的基本概念与操作
栈是一种线性数据结构,它遵循后进先出(LIFO)的原则。就像一叠盘子,最后放上去的盘子总是最先被拿走。下面通过一个具体的操作示例来展示栈的内容变化。
假设栈初始为空,执行以下操作:
push(5);
push(21);
pop();
push(72);
push(37);
push(15);
pop();
操作步骤及栈内容变化如下:
| 操作 | 栈内容 |
| — | — |
| 初始状态 | 空 |
| push(5) | 5 |
| push(21) | 5, 21 |
| pop() | 5 |
| push(72) | 5, 72 |
| push(37) | 5, 72, 37 |
| push(15) | 5, 72, 37, 15 |
| pop() | 5, 72, 37 |
2. 非线性数据结构
数据结构可分为线性和非线性两种。线性数据结构中的数据是按顺序排列的,而非线性数据结构的数据则不按线性方式组织。这里主要介绍两种非线性数据结构:树和图。
2.1 树
树是一种非线性数据结构,由一个根节点和可能的多个层次的额外节点组成,形成一个层次结构。除根节点外的所有节点称为内部节点,没有子节点的节点称为叶节点。树通常是“倒置”绘制的,根在顶部,叶在底部。
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



