📅  最后修改于: 2023-12-03 15:12:41.126000             🧑  作者: Mango
题目
GATE-CS-2005 | Question 83
使用单链表实现的堆栈数据结构中,下列操作的最坏时间复杂度是多少?
A. 在堆栈顶部插入元素
B. 从堆栈顶部删除元素
C. 判断堆栈是否为空
D. 读取堆栈顶部元素的值
正确答案:B
解析
- 时间复杂度是指算法在执行时所需要的计算工作量的度量,通常用时间复杂度来描述一个算法的优劣。
- 在单链表实现的堆栈数据结构中,插入和删除操作都是从堆栈顶端进行,而单链表只支持在表头进行插入和删除操作,因此在堆栈顶端插入元素的时间复杂度为 $O(1)$,从堆栈顶端删除元素的时间复杂度也为 $O(1)$。
- 对于判断堆栈是否为空以及读取堆栈顶端元素的值,需要遍历整个单链表,因此时间复杂度都为 $O(n)$。
- 对于本题,最坏时间复杂度是指其中一种操作的复杂度最大值,因此正确答案是 B。
参考资料: