信奥赛数据结构

课程介绍:

我们来讲一下求后缀表达式的值,从键盘读入一个后缀表达式,就是一个字符串,只含有0-9和这个加减乘除,每个运用特符之间使用一个空格隔开,不需要判断表达式是否合法,就是给我们的表达式,它一定是合法的,at符作为结束标志,比如说这个式子转换后缀表达式之后就是这样的,前面是我们的运算数,后面是我们的这个操作符,然后它存进来的时候是16,空余格9,然后空余格是4,空余格是3,空余格是加乘减,然后at作为一个结束。
这个题目虽然有一点复杂,但是在成语当中已经给了我们示意图,我们来看一下,这就是一种栈的数据结构,16入栈94,然后三接下来读到这个加号的时候,把我们的站顶3给它弹了出去,弹出去之后让我们新的站顶去加上这个3,那这就是加运算符的一个操作,加完3之后,这个新的站点元素就已经变成了7,然后接下来再读到这个乘运算符,那这个时候我们就让这个7也出栈,然后把新的栈的元素去乘上七七乘以9=63,然后最后是16减去这个63,结果是负的47,输入的自助转长度都在250以内,参与运算的整数及结果它们的绝对值都在2.614次方范围内,所以这个栈当中的数据类型,我就使用浪浪的数据类型,然后给我们一个后缀表达式,然后输出这个表达式的值,那我们先来写一下这个程序,读一下这个字符串儿,因为这个字符串儿它是有空格儿的,所以使用guideline。
接下来遍历一下这个字符串的结尾是以at结束的,但是我还是习惯了写一下for循环,i是从0开始的,然后i它是小于等于这个s点儿size,这个结果如果减一的话是字符串长度,那最后一个它就是一个at,所以说我们读到减2就可以了。
那比较好判断的地方就是加减乘除,那么如果这个STRI它要是等于加运算符的话,那么我们就先把这个站点元素给它取出来,这里就写一下这个浪,然后tamp作为一个临时值,然后取出这个站点元素,这里先来保存一下,保存完之后再把它弹掉,那接下来的站点元素就是s点top,然后让它去加等于这个time被弹出去的这个战斗元素,那么否则如果还可能是减运算符,还可能是乘运算符,还可能是除运算符,这里我们只需要改变一下就可以了,这里都是符号的部分,它还是比较好读取的。

视频截图:

目录截图:

 

01-栈数据结构
02-向量数据结构
03-队列数据结构
04-广度优先搜索
05-树和二叉树基础概念
06-二叉树存储和遍历题目
07-堆排序和优先队列
08-哈夫曼树
09-图的基本概念
10-图的存储
11-图的深度优先和广度优先遍历
12-欧拉路和哈密尔顿环
13-深度优先求最短路径
14-弗洛伊德(Floyd)最短路径算法
15-狄克斯特拉(Dijkstra)算法
16-贝尔曼-福特(Bellman-Ford)最短路径算法
17-SPFA最短路径算法
18-图的连通性
19-并查集
20-最小生成树Prim算法

下载权限

查看
  • 免费下载
    评论并刷新后下载
    登录后下载

查看演示

  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
文化学习

《哲学与人生》傅佩荣[独家无印

2022-5-17 7:49:41

文化学习

策略师课堂-深度学习策略课程(初升高班)等系列课

2022-5-23 11:15:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索