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

胖哥网站的建设目标中国正国级名单

胖哥网站的建设目标,中国正国级名单,初级网站开发的自我推荐,企业网站建设亮点括号匹配问题和逆波兰表达式求值问题 基于上一节已经使用python代码对栈进行了简单的实现#xff0c;这一节我们在其基础上解决两个常见的问题 案例 括号匹配问题(点我直接到代码实现)逆波兰表达式求值问题(点我直接到代码实现) 括号匹配问题 在给定的字符串中#xff0…括号匹配问题和逆波兰表达式求值问题 基于上一节已经使用python代码对栈进行了简单的实现这一节我们在其基础上解决两个常见的问题 案例 括号匹配问题(点我直接到代码实现)逆波兰表达式求值问题(点我直接到代码实现) 括号匹配问题 在给定的字符串中编写程序实现确定该字符串类的括号是否匹配的问题 使用栈解决这个问题的思路 括号匹配python代码实现 from Structure.linear.Stack import Stackdef is_matched_brackets(_strNone):stack Stack()for s in _strs:# If the sub-str is (, push it into the stackif s (:stack.push(s)# If it is ), try to pop a ( from the stackelif s ):pop_a_left stack.pop()# If hadnt popped a (, return falseif not pop_a_left:return Falseif stack.len 0:return Truereturn False# _strs ()(Shanghai)(Changan))( # _strs ())( _strs (())() print(fIs the brackets matched in {_strs} ? {is_matched_brackets(_strs)})然后这里导入的Stack是上一节栈的实现写的代码也就使用到了pop和push的方法以及len属性代码量也不算很多我就直接复制过来了方便查看这里功能实现起来也是非常的简单就不做过多赘述来解释了。 class Node:def __init__(self, item):self.item itemself.next Noneclass Stack:def __init__(self):self.head Noneself.len 0def is_empty(self):return not self.len# def length(self):# return self.lendef push(self, item):Push an element into the stacknode Node(item)node.next self.headself.head nodeself.len 1def pop(self):Pop a value from the stack top# if not self.head:# raise IndexError(pop from empty list)cur self.headif self.head:self.head self.head.nextself.len - 1return cur逆波兰表达式 在定义逆波兰表达式求值问题之前我们先来看一下中缀表达式是什么 定义中缀表达式是一个通用的算术或逻辑公式表示方法二元运算符总是会在两个操作数的中间 举个栗子 例如1 3 * 2和2 - ( 1 3 )运算符( - * /)都是在两个值的中间 这种表达式虽然对于我们人类来说观看和使用起来都是非常简单的但是对于计算机并不太友好这是因为这种表达式并不是有顺序的在运算时还可能涉及到很多优先级顺序的判断 因此我们引入了中缀表达式转后缀表达式的概念这里的后缀表达式就是我们所说的逆波兰表达式 简介逆波兰式Reverse Polish notationRPN或逆波兰记法也叫后缀表达式将运算符写在操作数之后 逆波兰表达式的定义描述看起来晦涩难懂简单的说就是将运算符写在操作数之后的表达式对定义描述感兴趣的同学可以自行百度一下这里我们用几个例子直观的感受一下 通过结果看转换前的状态会比较好理解 a b → ab先看操作符一个操作符对应两个值加号对应a 和 b相加得到aba (b - c) → abc-先看操作符一个操作符对应两个值减号-对应离他最近的bc因此先计算b - c再看加号也对于两个值就是a 和 (b - c)因此为 a (b - c)a (b -c) * d → abc-d*先看操作符秉承操作运算的先后顺序减号-对应b - c然后乘号*对应的是(b - c)*d最后加号对应的也是两个值a 和 (b - c)*d相加即可得到a (b - c) * da * (b - c) d → abc-*d同样以操作符为中心寻找数字减号-对应b 和 c相减得到(b - c)乘号*对应a 和 (b - c)相乘得到a * (b - c)加号对应a * (b - c)和 d相加得到结果 a * (b - c) d 代码实现思路 如果当前字符为变量或者为数字则压栈如果是运算符则将栈顶两个元素弹出作相应运算结果再入栈最后当表达式扫描完后栈里的就是结果。 实现流程图 python代码实现 这里先要写一个实现栈的类方法也可以参照前期的栈实现文章 class Node:def __init__(self, item):self.item itemself.next Noneclass Stack:def __init__(self):self.head Noneself.len 0def is_empty(self):return not self.len# def length(self):# return self.lendef push(self, item):Push an element into the stacknode Node(item)node.next self.headself.head nodeself.len 1def pop(self):Pop a value from the stack top# if not self.head:# raise IndexError(pop from empty list)cur self.headif self.head:self.head self.head.nextself.len - 1return curfrom Structure.linear.Stack import Stackdef reverse_polish_notation(_strs):nums Stack()for s in _strs:if s not in [, -, *, /]:nums.push(s)else:num1 nums.pop().itemnum2 nums.pop().item# This equals to num2 [-*/] num1res eval(str(num2)sstr(num1))nums.push(res)return nums.pop().item# 2*(18-13)-12/4 2*5 - 3 7 _strs 2, 18, 13, -, *, 12, 4, /, - result reverse_polish_notation(_strs) print(fThe computation of {_strs} is {2*(18-13)-12/4}) print(fThe result is {result})运行结果 The computation of (2, 18, 13, -, *, 12, 4, /, -) is 7.0 The result is 7.0实现过程比较简单就不过多赘述了
http://www.zqtcl.cn/news/586505/

相关文章:

  • 网站开发技术及应用wordpress自定义类型使用模板
  • 网站颜色 字体代销网站源码
  • 做二手车有哪些网站有哪些手续翠竹林wordpress主题
  • 商城网站开发报价单献县做网站价格
  • 做网站和推广需要多少钱诚信企业查询系统
  • c 2015 做网站网站设计技术有哪些?
  • 安丘网站开发主播网站建立
  • 档案网站的建设wordpress英文主题 汉化
  • 网站建设礼品南充网站建设工作室
  • 电子商务网站建设概念wordpress 扫码支付宝
  • 上海做网站谁好营销型网站框架图
  • 太仓企业网站建设价格wordpress自动同步插件
  • 微信网站是什么淄博周村网站建设哪家好
  • 廊坊网站建设价格网站建设维护的方案
  • 站长工具综合权重查询怎样做招聘网站
  • 广东新闻联播2020sem对seo的影响有哪些
  • 女装东莞网站建设在线设计签名免费网站
  • 在国外做黄皮网站违法么网站建设北京个人
  • 深圳南头高端网站建设安卓优化大师老版本
  • 宁海做网站wordpress邀请码注册功能
  • 重庆建设网站哪家好长沙待遇好的十大国企
  • 甘肃省建设厅查询网站黄骅港信息贴吧
  • 如何做网站的逻辑结构图如何快速做一个网站
  • 郑州虚拟货币网站开发千万不能 网站
  • 石家庄做网站汉狮网络企业标准网上备案网站
  • php网站开发权限管理广州白云区网站开发
  • 北京网站开发建设 58同城wordpress 无标题
  • 黑龙seo网站优化建设网站要学编程吗
  • 花都区水务建设管理中心官方网站怎么样才能搜索到自己做的网站
  • dedecms景区网站模板wordpress显示手动摘要