冲刺 · 复杂度与两种存储结构
二级选择题的前 10 分考「公共基础知识」,第一块是数据结构与算法。先记三句标准说法: 时间复杂度:执行算法所需要的计算工作量(不是程序有多长、也不是跑了几秒); 空间复杂度:执行算法所需要的内存空间。 顺序存储:用一片连续的存储单元依次存
冲刺 · 栈和队列谁先出
栈只在一头进出;队列一头进、另一头出 栈顶 ↕ A B C ← 队头出 队尾进 ← A B C 栈和队列都是操作受限的线性表: 栈只允许在一端(栈顶)插入和删除,另一端叫栈底。像食堂叠起来的餐盘,最后放上去的最先被拿走。 队列只允许在一端(
冲刺 · 二叉树的三种遍历
三种遍历只差在「根」排第几 根 左 右 / \ 前序:根 左 右 中序:左 根 右 后序:左 右 根 二叉树的遍历口诀:前序(先序)根 → 左子树 → 右子树;中序左子树 → 根 → 右子树;后序左子树 → 右子树 → 根。 每棵子树内部也
冲刺 · 母题:循环队列里有几个元素
把队列的存储空间首尾相接当成一个环来用,就是循环队列。二级的约定:front 指向队头元素的前一个位置,rear 指向队尾元素; 入队 rear 后移一格,出队 front 后移一格,走到末尾再绕回开头。 设循环队列的存储空间为 Q(1:5
冲刺 · 变式 1:rear 绕回了开头
循环队列的存储空间为 Q(1:50),初始状态 front = rear = 50。经过一系列正常的入队与退队操作后,front = 45,rear = 10,此时队列中的元素个数为【0】。
冲刺 · 变式 2:front 和 rear 相等
循环队列的存储空间为 Q(1:50),初始状态 front = rear = 50。经过一系列正常的入队与退队操作后,front = rear = 25,此时队列中的元素个数为【0】。
冲刺 · 变式 3:栈里有几个元素
设栈的存储空间为 S(1:50),初始状态 top = 51(栈为空,栈底在 50 号一端,入栈时 top 减 1)。 经过一系列正常的入栈与退栈操作后,top = 20,此时栈中的元素个数为【0】。
冲刺 · 变式 4:二叉树一共几个结点
某二叉树有 5 个度为 2 的结点、3 个度为 1 的结点,则该二叉树共有【0】个结点。
冲刺 · 前序加中序推后序
一棵二叉树的前序遍历序列为 ABDEGCFH,中序遍历序列为 DBGEAFHC,则该二叉树的后序遍历序列为【0】。
冲刺 · 不可能的出栈序列
元素 1、2、3、4 依次进栈,进栈过程中允许出栈,则下列不可能的出栈序列是【0】。