华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1227|回复: 3
打印 上一主题 下一主题

队列和栈大楼

[复制链接]

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
跳转到指定楼层
楼主
发表于 2018-9-11 14:56:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
队列和栈是常见的两种基本的线性数据结构,对于队列,
回复

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
地板
 楼主| 发表于 2018-9-11 15:52:24 | 只看该作者
优先队列,循环队列,单调队列,单调栈是队列和堆栈的变形使用,详情跳楼
回复 支持 反对

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
板凳
 楼主| 发表于 2018-9-11 15:47:16 | 只看该作者
表达式求值是栈的经典应用,一般的做法应该是将中缀表达式转成后缀表达式然后求值。
典型的练习题:
1、P1739 表达式括号匹配   http://hsyit.cn/forum.php?mod=viewthread&tid=36379
2、P1449 后缀表达式 http://hsyit.cn/forum.php?mod=viewthread&tid=36335
3、P1981 表达式求值  http://hsyit.cn/forum.php?mod=viewthread&tid=36378
4、P1054 等价表达式  http://hsyit.cn/forum.php?mod=viewthread&tid=35906

还有一个栈的应用就是手动模拟递归。大家可以试着写一个pmn的算法,但是不要用递归。


回复 支持 反对

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
沙发
 楼主| 发表于 2018-9-11 15:01:28 | 只看该作者
广度优先搜索一般使用队列来实现的,深度优先搜索一般是用递归来实现的,其实也可以手工模拟一个栈来实现。比如有些典型的题目全搜索的题目,分解因数,最少乘法次数等等,采用不同的搜索方案可以得到不同的结果。
最少乘法次数:BFS http://hsyit.cn/forum.php?mod=viewthread&tid=35912                     
DFS  http://hsyit.cn/forum.php?mod=viewthread&tid=3663
分解因数:http://hsyit.cn/forum.php?mod=viewthread&tid=36345

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 13:48 , Processed in 0.102527 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表