📜  门| GATE-CS-2005 |第 83 题(1)

📅  最后修改于: 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。
参考资料: