当前位置: 首页 > wzjs >正文

网站建设的误区预备网络推广方案

网站建设的误区,预备网络推广方案,凡科建站官网 网络服务,石家庄谷歌推广Python数据结构进阶:栈与队列的实现与应用 一、栈(Stack) 1.1 定义与特性 后进先出(LIFO)原则: 最后添加的元素最先被移除 类比场景:网页浏览器的返回按钮、餐厅盘子叠放1.2 核心操作 操作时…

Python数据结构进阶:栈与队列的实现与应用


一、栈(Stack)

1.1 定义与特性

后进先出(LIFO)原则:
最后添加的元素最先被移除
类比场景:网页浏览器的返回按钮、餐厅盘子叠放

1.2 核心操作

操作时间复杂度功能说明
push()O(1)元素入栈
pop()O(1)移除栈顶元素
peek()O(1)查看栈顶元素
is_empty()O(1)判断栈是否为空

1.3 典型应用场景

案例1:括号匹配验证

输入示例:"([{}])" → 有效

错误示例:"({[)]}" → 无效

案例2:逆波兰表达式求值

表达式:["4", "13", "5", "/", "+"] → 等价于 4 + (13 / 5)


二、队列(Queue)

2.1 定义与特性

先进先出(FIFO)原则:
最先添加的元素最先被移除
类比场景:超市结账排队、打印机任务队列

2.2 核心操作

操作时间复杂度功能说明
enqueue()O(1)元素入队
dequeue()O(1)移除队首元素
front()O(1)查看队首元素
is_empty()O(1)判断队列是否为空

2.3 典型应用场景

案例1:任务调度系统

处理顺序:请求1 → 请求2 → 请求3

案例2:广度优先搜索(BFS)

遍历顺序:层级1 → 层级2 → 层级3


三、Python实现代码

3.1 栈的实现(三种方式)

# 方式1:使用列表实现
class ListStack: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] if not self.is_empty() else Nonedef is_empty(self):return len(self.items) == 0# 方式2:使用collections.deque
from collections import deque
class DequeStack:def __init__(self):self.container = deque()def push(self, val):self.container.append(val)def pop(self):return self.container.pop()def peek(self):return self.container[-1] if self.container else None# 方式3:自定义链表实现
class Node:def __init__(self, value):self.value = valueself.next = Noneclass LinkedListStack:def __init__(self):self.top = Nonedef push(self, item):new_node = Node(item)new_node.next = self.topself.top = new_nodedef pop(self):if self.top is None:raise Exception("Stack is empty")value = self.top.valueself.top = self.top.nextreturn value

3.2 队列的实现(两种方式)

# 方式1:使用deque双端队列
from collections import deque
class ListQueue:def __init__(self):self.items = deque()def enqueue(self, item):self.items.append(item)def dequeue(self):return self.items.popleft() if self.items else Nonedef front(self):return self.items[0] if self.items else None# 方式2:循环数组实现
class CircularQueue:def __init__(self, capacity):self.capacity = capacityself.queue = [None]*capacityself.head = 0self.tail = 0self.size = 0def enqueue(self, item):if self.size == self.capacity:raise Exception("Queue is full")self.queue[self.tail] = itemself.tail = (self.tail + 1) % self.capacityself.size += 1def dequeue(self):if self.size == 0:return Noneitem = self.queue[self.head]self.head = (self.head + 1) % self.capacityself.size -= 1return item

四、每日挑战:括号匹配验证

4.1 问题描述

实现函数 is_valid_parentheses(s)

输入示例: 
"()[]{}" → 返回True
"([)]"   → 返回False
"({[]})" → 返回True

4.2 实现思路

  1. 创建空栈和映射表 {')': '(', ']': '[', '}': '{'}
  2. 遍历每个字符:
    • 左括号:入栈
    • 右括号:检查栈顶是否匹配
  3. 最后检查栈是否为空

4.3 参考答案

def is_valid_parentheses(s: str) -> bool:stack = []mapping = {')': '(', ']': '[', '}': '{'}for char in s:if char in mapping.values():stack.append(char)elif char in mapping.keys():if not stack or stack[-1] != mapping[char]:return Falsestack.pop()return not stack

五、扩展练习

  1. 实现支持最小值查询的栈(要求所有操作O(1)时间复杂度)
  2. 用队列实现栈的push/pop/top操作
  3. 设计循环队列实现(参考Leetcode 622题)
  4. 实现逆波兰表达式计算器(参考Leetcode 150题)

通过这个结构化的教程,学习者可以系统掌握栈和队列的核心概念,并通过代码实践和挑战题目深化理解。建议按照以下学习路径:

  1. 理解基本概念 → 2. 手写实现代码 → 3. 完成每日挑战 → 4. 尝试扩展练习

文章转载自:

http://yCdWTsvj.tznLz.cn
http://d83iBmkD.tznLz.cn
http://H95z1ijI.tznLz.cn
http://K83gGtXL.tznLz.cn
http://7UsoJLE5.tznLz.cn
http://ii2rgLdY.tznLz.cn
http://SDI4Bfl9.tznLz.cn
http://kWB00NFv.tznLz.cn
http://Brf3V4FD.tznLz.cn
http://eZ1q63NF.tznLz.cn
http://GrUPEVmq.tznLz.cn
http://4B4XvKdI.tznLz.cn
http://shbXxK7J.tznLz.cn
http://qVxaQxe6.tznLz.cn
http://WGO2FT4t.tznLz.cn
http://tgRekKf4.tznLz.cn
http://Vgm4CxUW.tznLz.cn
http://Ej43XVSL.tznLz.cn
http://BcPO2MK6.tznLz.cn
http://UaizY1uA.tznLz.cn
http://sneup501.tznLz.cn
http://nsPtugVK.tznLz.cn
http://s5zJf5cZ.tznLz.cn
http://CtEOecXM.tznLz.cn
http://9OvV5OFr.tznLz.cn
http://fhZIXu7P.tznLz.cn
http://rca5fXhx.tznLz.cn
http://Uk5X80jP.tznLz.cn
http://V6WmfE6H.tznLz.cn
http://ge0SGGO1.tznLz.cn
http://www.dtcms.com/wzjs/748398.html

相关文章:

  • 建设网站上海wordpress 数据库设置
  • 自己的网站怎么在百度上面推广做的比较好的企业网站
  • 中卫网站设计厂家wordpress 更新过慢
  • 去除wordpress版本临沧seo
  • 有学做衣服的网站吗万博法务网站建设项目
  • 衡阳网站建设设计泌阳县住房建设局网站
  • 企业营销型网站规划350模板网
  • 公司网站建设包含的内容网站源码传到服务器上后怎么做
  • 两学一做纪实评价系统登陆网站公司企业做网站违法吗
  • 盾思途旅游网站建设网站建设如何就接入支付宝
  • php做网站视频苏州网络公司排名一览
  • 建设电商网站的个人心得天津seo实战培训
  • 冷门行业做网站的优势成都网站建设设计公司
  • 北外网院网站建设作业深圳建设集团待遇
  • 网站优化seo怎么做陕西省建设网三类人员成绩公示
  • 购物网站开发中遇到的问题在线平面图制作
  • 房屋中介做网站的wordpress 显示标题
  • iis怎么建网站专业商城网站建设多少钱
  • 全企网建站怎么样个人工作室如何纳税
  • 建网站开源代码网站设置仅某浏览器
  • 课程培训网站模板下载网站建设营销策划书
  • 无锡网站建设标准免费人脉推广软件
  • 教学网站开发应用指导方案湖南奉天建设集团网站
  • 中小型教育网站的开发与建设网站建设培训网站
  • 做网站和seo流程wordpress 用户验证失败
  • 制作一个网站平台需要多少钱如何评估一个网站
  • 网站开发是指郴州优化公司
  • 网站建设需要域名上海猎头公司排行榜
  • 网站建设验收单wap浏览器网页版
  • cm域名网站工作室怎么开