推荐答案
栈的常见操作包括:
- Push(入栈):将元素添加到栈的顶部。
- Pop(出栈):移除并返回栈顶的元素。
- Peek(查看栈顶元素):返回栈顶的元素但不移除它。
- IsEmpty(判断栈是否为空):检查栈是否为空。
- Size(获取栈的大小):返回栈中元素的数量。
本题详细解读
1. Push(入栈)
- 描述:将一个新元素添加到栈的顶部。
- 时间复杂度:O(1)
- 示例:
stack = [] stack.append(1) # 栈变为 [1] stack.append(2) # 栈变为 [1, 2]
2. Pop(出栈)
- 描述:移除并返回栈顶的元素。如果栈为空,可能会抛出异常或返回特定值。
- 时间复杂度:O(1)
- 示例:
stack = [1, 2] top_element = stack.pop() # 栈变为 [1], top_element = 2
3. Peek(查看栈顶元素)
- 描述:返回栈顶的元素但不移除它。如果栈为空,可能会抛出异常或返回特定值。
- 时间复杂度:O(1)
- 示例:
stack = [1, 2] top_element = stack[-1] # top_element = 2, 栈仍为 [1, 2]
4. IsEmpty(判断栈是否为空)
- 描述:检查栈是否为空。如果栈为空,返回
True
,否则返回False
。 - 时间复杂度:O(1)
- 示例:
stack = [] is_empty = len(stack) == 0 # is_empty = True
5. Size(获取栈的大小)
- 描述:返回栈中元素的数量。
- 时间复杂度:O(1)
- 示例:
stack = [1, 2, 3] size = len(stack) # size = 3
这些操作是栈数据结构中最基本和常用的操作,掌握它们对于理解和使用栈非常重要。