填空(15道 有3道左右找规律)
1. 在单向链表中插入一个节点,需要修改该节点的()指针和其前驱节点的()指针
解析:next next
2. 逆波兰表达式可以使用数据结构()来实现
解析:栈
3. 25+20*100-8/4的逆波兰表达式是()
解析:按照操作符的优先级进行转换:
首先处理乘法和除法,因为它们的优先级高于加法和减法。
20 * 100
->20 100 *
;8 / 4
->8 4 /
然后处理加法和减法。加上
25
和减法操作符。最终逆波兰表达式为:
25 20 100 * + 8 4 / -
4. 在长度为n的有序单链表中插入一个新节点,并仍然保持有序的时间复杂度是()
解析:O(n)。这是因为需要从链表头开始遍历,找到合适的插入位置,而这需要遍历链表的节点,最坏情况下需要遍历到链表的末尾,时间复杂度为 O(n)。
5. 下列哪些物品清单更适合用数组来存储()(不定项选择题)
A.香蕉、小气球、玩具 B.苹果手机、华为手机、小米手机 C.大豆、土豆、豌豆
解析:数组的特性——适合存储类型相同且数量固定的数据,下列物品清单中更适合用数组来存储的是:B. 苹果手机、华为手机、小米手机 C. 大豆、土豆、豌豆
这两个选项中的物品在一定程度上具有相同的特性(如手机属于同一类物品,豆类属于同一类食物),因此可以用数组来存储。
而选项 A. 香蕉、小气球、玩具,物品类型不一致,不适合用数组来存储。
6. 设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是()
解析:要确定栈 S 的容量,我们需要分析这个问题的操作顺序,假设栈的容量为 k,然后推断其最小值。根据题意,元素
a, b, c, d, e, f, g
依次入栈,出栈的顺序是b, d, c, f, e, a, g
,并且每个元素出栈后立即进入队列 Q。我们假设栈的容量为最小值,并分析出栈和入队的顺序:
- 元素
a
入栈。- 元素
b
入栈,b
出栈并进入队列。- 元素
c
入栈。- 元素
d
入栈,d
出栈并进入队列。- 元素
c
出栈并进入队列。- 元素
e
入栈。- 元素
f
入栈,f
出栈并进入队列。- 元素
e
出栈并进入队列。- 元素
g