栈(Stack)是一种后进先出(LIFO – Last In First Out)的线性数据结构。
栈的主要操作包括:
1. Push:向栈顶压入一个元素
2. Pop:从栈顶弹出一个元素
3. Peek:查看栈顶的元素而不弹出
在日常开发中,栈被广泛应用于函数调用(执行栈)、括号匹配、逆波兰表达式求值等场景。
栈(Stack)是一种后进先出(LIFO – Last In First Out)的线性数据结构。
栈的主要操作包括:
1. Push:向栈顶压入一个元素
2. Pop:从栈顶弹出一个元素
3. Peek:查看栈顶的元素而不弹出
在日常开发中,栈被广泛应用于函数调用(执行栈)、括号匹配、逆波兰表达式求值等场景。
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
在单链表中,每个节点包含两部分:
1. 存储数据的数据域
2. 存储下一个节点地址的指针域
以下是 Python 中的单链表节点定义示例:
“`python
class Node:
def __init__(self, data):
self.data = data
self.next = None
“`
单链表的插入和删除操作时间复杂度为 O(1),但在查找特定元素时需要遍历,时间复杂度为 O(n)。