首页 > 其他分享 >王道408---DS---线性表、栈、队列与数组

王道408---DS---线性表、栈、队列与数组

时间:2023-10-12 17:35:20浏览次数:51  
标签:表达 线性表 队列 --- 后缀 DS 中缀

错题2.2

img
1、题目中提到在第i个位置一般是指在下表为i的位置
2、线性表元素的序号是从1开始,而在第n+1个位置插入相当于在表尾追加。

静态链表

img
img
树的双亲表示法就是使用了这种思想吧

卡特兰数

\[\text{}\frac1{n+1}C_{2n}^{n} \]

栈的数学性质:n个不同元素进栈,出栈元素不同排列的个数为卡特兰数

栈的初始化与判空判满操作

image-20231006151231380

栈空判断的条件就是 S.top = = -1,栈满的条件是S.top==MaxSize-1

共享栈

image-20231006151035009

共享栈的判空: 对于top0,top0=-1时,0号栈空,top1=MaxSize时1号栈空

判满: top1-top0 = 1

队列的判空判满方法

image-20231006151904086

双端队列

img
img
注意,对于通向的 "插入" "删除" 类似于栈,而对于不同向的"插入" "删除"才类似于队列

栈的应用

中缀表达式快速转逆波兰式(后缀表达)---方法一

最原始的方法

img

只看上面这一种解法难免会有些疑惑

推荐看下面这个

https://zq99299.github.io/dsalg-tutorial/dsalg-java-hsp/05/05.html

需要注意的是

1、当遇到同优先级的符号也会从栈里弹出,比如 + -

2、运算数据是遇到一个就放入栈里,并且不会弹出,弹出的只有运算符号,准确来说,运算数据就不用放在栈里。

中缀表达转后缀表达---方法二

image-20231010090340740

另外记录中缀表达快速转前缀/后缀表达
https://www.cnblogs.com/lordtianqiyi/p/17606338.html

中缀表达转后缀表达---方法三

image-20231010090437586

直接根据中序生成树,再进行后序遍历

这个方法看似比较麻烦,实际上一试就会发现相当easy!!!

很推荐第三种方法,因为前两种可能一不小心就失误了,尤其是第一种

稀疏矩阵

稀疏矩阵的存放一般采用三元组

image-20231006152820691

难题3.1

p64-T7

image-20231006150801155

注意这里是只有指针,没有结点

标签:表达,线性表,队列,---,后缀,DS,中缀
From: https://www.cnblogs.com/lordtianqiyi/p/17760057.html

相关文章

  • 王道408---DS---树、二叉树、图
    有序树、无序树的概念有序树和无序树,树中结点的各子树从左到右是有次序的,不能互换,称该树为有序树,否则称为无序树。树/二叉树的性质树的性质常用的只有第一个二叉树的性质常用公式也只有这一个二叉树的存储一般分为顺序存储与链式存储要求顺序存储能默写顺序存储:typ......
  • IMX6ULL裸机-RTC定时器
    1引入RTC定时器RTC定时器被叫做实时时钟(realtimeclock)。CPU内部有很多定时器,像看门狗WDT,PWM定时器,高精度定时器Timer等等,只在“启动”即“通电时”运行,断电时停止。当然,如果时钟不能连续跟踪时间,则必须手动设置。那么当关机后就没办法自动计数统计时间了。定时器的本质就......
  • Fi-GNN: Modeling Feature Interactions via Graph Neural Networks for CTR Predicti
    目录概Fi-GNN代码LiZ.,CuiZ.,WuS.,ZhangX.andWangL.Fi-GNN:Modelingfeatureinteractionsviagraphneuralnetworksforctrprediction.CIKM,2019.概"图网络"用在精排阶段(算哪门子图网络啊).Fi-GNN一个item可能有多种field,比如:\[\underbrace......
  • python+playwright 学习-61 Playwright 和 Selenium 的区别是什么?
    前言最近有不少同学问到Playwright和Selenium的区别是什么?有同学可能之前学过selenium了,再学一个playwright感觉有些多余,可能之前有项目已经是selenium写的了,换成playwright需要时间成本,并且可能有未知风险。也有同学之前可能没学过selenium,现在正准备入手一个web......
  • 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest (Online Mirror
    有五种种类的垃圾,数量分别为\(a_1,a_2,a_3,a_4,a_5\)。第一种为纸质垃圾第二种为塑料垃圾第三种双非垃圾第四种基本纸质垃圾第五种基本塑料垃圾有三种垃圾桶,容量分别为\(c_1,c_2,c_3\)。第一种垃圾桶可以放入:纸质垃圾和基本纸质垃圾第二种垃圾桶可以放入:塑料......
  • Python - 深拷贝一个带有指向自身引用的列表,会报错么?紧接着用==比较,会报错么?
    问题描述深拷贝一个带有指向自身引用的列表:列表x中有指向自身的引用,因此x是一个无限嵌套的列表。importcopyx=[1]x.append(x)>>x[1,[...]]y=copy.deepcopy(x)>>y[1,[...]] 深拷贝不报错但是我们发现深度拷贝x到y后,程序并没有出现stackoverf......
  • Java设计模式-单例模式
    1、用到过的场景需要一样的对象放入数组中构建类的方式固定2、饿汉模式(不要用)packagecom.cc.eed.sin;/***<p>单例模式-饿汉(线程不安全)</p>**@authorCC*@since2023/10/12*/publicclassSingletonDemo2{privatestaticfinalSingletonDemo2......
  • import, export,export default,exports - 导入导出方法总结
    1.Export注意:在一个模块中,export可以向外暴露多个注意;使用export导出的成员,必须严格按照导出时候的名称,不能自定义,来使用{}按需接收注意;使用export导出的成员,如果要换个名称,可以使用as起别名模块是独立的文件,该文件内部的所有的变量外部都无法获取。如果希望获取某个变......
  • Backtrader - AttributeError: 'OptReturn' object has no attribute 'datas'
    1.0ErrorTraceback(mostrecentcalllast):File"D:/PycharmProjects/dbpower.backtrader.001/app/main_machine_learning.py",line191,in<module>img=cerebro.plot(style='line',plotdist=0.1,grid=True)File"D:\P......
  • 快速运维 - 防火墙
    防火墙firewalld存放配置文件有两个目录/usr/lib/firewalld和/etc/firewalld前者存放了一些默认的文件,后者主要是存放用户自定义的数据,所以我们添加的service或者rule都在后者下面进行。server文件夹存储服务数据,就是一组定义好的规则。zones存储区域规则firewalld.co......