Python数据结构:栈和队列的实现

本文将介绍Python中栈和队列的基本概念、实现方法及其应用场景。

1. 栈

栈是一种后进先出(Last In First Out,LIFO)的数据结构,类似于弹夹。Python中可以使用列表(list)来实现栈。

1.1 栈的基本操作

  • push():将元素压入栈内。
  • pop():将栈顶的元素弹出。
  • peek():返回栈顶的元素,但不弹出。
  • is_empty():判断栈是否为空。
  • size():返回栈内元素的个数。

1.2 栈的实现

class Stack:
    def __init__(self):
        self.items = []

    def push(self, item):
        self.items.append(item)

    def pop(self):
        return self.items.pop()

    def peek(self):
        return self.items[-1]

    def is_empty(self):
        return self.items == []

    def size(self):
        return len(self.items)

1.3 应用场景

栈常用于表达式求值、括号匹配等场景。

2. 队列

队列是一种先进先出(First In First Out,FIFO)的数据结构,类似于排队。Python中可以使用列表(list)来实现队列。

2.1 队列的基本操作

  • enqueue():将元素加入队列尾部。
  • dequeue():将队列头部的元素弹出。
  • is_empty():判断队列是否为空。
  • size():返回队列内元素的个数。

2.2 队列的实现

class Queue:
    def __init__(self):
        self.items = []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def is_empty(self):
        return self.items == []

    def size(self):
        return len(self.items)

2.3 应用场景

队列常用于广度优先搜索、操作系统中的进程调度等场景。

猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论