网易云课堂-数据结构
第二周 2.1线性表
对C语言使用不全,对typedef struct有疑问,希望能尽快解决。链表可以理解。
对时间复杂度计算不明确。广义链表不明确。
2.2堆栈
刚开始对前缀后缀表达式不懂 这篇blog写的很清楚让我弄懂了
点击打开链接
中缀==》前缀表达式从右向左扫描,遇右括号进栈,左括号找右括号并弹出压入结果栈。
当转换成后缀表达式时从左到右 左括号(进入栈内优先级变最低;压入堆栈有*时,再压入/,因为从左到右顺序所以*比/优先级高 弹出*压入/。
若优先级大于栈顶符号则PUSH;
若优先级小于栈顶符号则POP栈顶符号 再比较该符号与新栈顶符号
/*补充 !!
(1) 初始化两个栈:运算符栈S1和储存中间结果的栈S2;
(2) 从右至左扫描中缀表达式;
(3) 遇到操作数时,将其压入S2;
(4) 遇到运算符时,比较其与S1栈顶运算符的优先级:
(4-1) 如果S1为空,或栈顶运算符为右括号“)”,则直接将此运算符入栈;
(4-2) 否则,若优先级比栈顶运算符的较高或相等,也将运算符压入S1;
(4-3) 否则,将S1栈顶的运算符弹出并压入到S2中,再次转到(4-1)与S1中新的栈顶运算符相比较;
(5) 遇到括号时:
(5-1) 如果是右括号“)”,则直接压入S1;
(5-2) 如果是左括号“(”,则依次弹出S1栈顶的运算符,并压入S2,直到遇到右括号为止,此时将这一对括号丢弃;
(6) 重复步骤(2)至(5),直到表达式的最左边;
(7) 将S1中剩余的运算符依次弹出并压入S2;
(8) 依次弹出S2中的元素并输出,结果即为中缀表达式对应的前缀表达式。
*/
中缀==》后缀 从左向右扫面,类似,遇左括号进栈,右括号找左括号弹出进入结果。
Push (S);
x=Pop(S);
堆栈链表 单链表 在表头操作 表头不是第一个有用的元素,指向第一个有用的元素,插入最后S->next=Tempcell指向新节点;
链表头 删除插入都方便,队尾不能删除因为单链表无法找到前一个节点。
2.3队列
循环队列 front rear 绝对值差n却要表示n+1个状态。 解决方法:tag看最后一次操作是插入还是删除;size大小;只使用n-1个地方,n个状态 浪费一个空间。
求余。
链表头 删除插入都方便,队尾不能删除因为单链表无法找到前一个节点。
所以front要执行删除必须在表头
网易云课堂-数据结构相关推荐
- 网易云课堂-数据结构-练习题实现-00,打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓"沙漏形状", ...
- 网易5天python编程课_网易云课堂上自学编程?
(一) 不是大佬.题主问的是有没有必要按照网易云课堂上的大一到大四的全部课程学习一遍? 强答一波:没有必要. 题主这么提问,无非就是想减少自己的试错成本,在这里分享一些我这段时间以来的学习经历.每个人 ...
- 网易云课堂微专业--Java高级开发工程师
获取方式:公众号:文若课堂 5.微专业-java | |──大纲.jpg 910.32KB | |──阶段1:高性能编程专题 | | |──1.1.1 J ...
- 网易云课堂python怎样_网易云课堂开设的计算机专业课程怎么样?结业后能达到什么水平?...
今天出成绩了,总评98哦哈哈,可惜在美帝没法参加PAT考试拿不到优秀证书有点不开心,然后继续leetcode-- ----以下为原始答案---- 最近刚刚完成了 @陈越姥姥 的数据结构,并且期末成绩还 ...
- 网易云课堂Java进阶学习笔记系列01 -- 第3周 对象容器
个人为了复习一下Java基础, 在网易云课堂上报了翁恺老师的Java语言程序设计进阶篇的课程, 主要看了其中的3. 对象容器, 6. 设计原则, 7. 抽象与接口, 8. 控制反转与MVC模式这几部分 ...
- 网易云课堂:用视频云技术承载3300万用户的流畅学习体验
"做时代奋进者的高效充电站",作为一个致力于用互联网推动实用技能教育的团队,网易云课堂的宏愿无疑是美好的.然而,在技术人才紧缺.网络环境迥异.终端设备复杂的背景下,如何在快速扩张的 ...
- Python爬虫入门教程 21-100 网易云课堂课程数据抓取
写在前面 今天咱们抓取一下网易云课堂的课程数据,这个网站的数据量并不是很大,我们只需要使用requests就可以快速的抓取到这部分数据了. 你第一步要做的是打开全部课程的地址,找出爬虫规律, 地址如下 ...
- 网易云课堂解析_网易云课堂课程下载教程
网易云课堂不能下载视频,缓存打不开? 记: 网易云课堂.中国大学mooc这些学习平台确实大大方便了我们这些工作党学习,之前一直用的是手机客户端看视频,但是由于换手机啊,清理垃圾啊,手机储存容量各种原因 ...
- python数据抓取课程_Python爬虫入门教程 21-100 网易云课堂课程数据抓取
写在前面 今天咱们抓取一下网易云课堂的课程数据,这个网站的数据量并不是很大,我们只需要使用requests就可以快速的抓取到这部分数据了. 你第一步要做的是打开全部课程的地址,找出爬虫规律, 地址如下 ...
- 网易云课堂解析_使用SQL分析网易云课堂职场提升类课程
前言: 正值毕业季,职场相关话题毋庸置疑又再次成为热门话题,结束学校生活并不意味着学习的终结,真正走入职场才会发现学习才刚刚开始.许多职场人士为了在激烈的市场竞争中保持竞争力,都会选择在工作之余学习充 ...
最新文章
- C++学习之:复制和粘贴文件/文件夹
- CUDA5.5入门文章:VS10设置
- POJ 3660 Cow Contest【传递闭包】
- 信息学奥赛一本通 1910:【00NOIP普及组】计算器的改良 | 洛谷 P1022 [NOIP2000 普及组] 计算器的改良
- tkinter使用cefpython库_Python3.7 tkinter中嵌入网页(WebView),需要引入cefpython3
- java 交集怎么写_Java里面如何求两个集合的交集
- 五子棋python设计心得_python五子棋游戏的设计与实现
- 吴恩达机器学习学习笔记第三章:机器学习中的线性代数
- Linux Shell处理文本最常用的工具大盘点
- 人生就是一次Presentation
- Qt编写自定义控件15-百分比仪表盘
- Mac、centos安装MongoDB
- 2020-8-31 David Pozar 微波工程读书笔记 (三) 173115
- No buffer space available 和windows 2003复制文件时:配额不足,无法处理该命令
- Android热修复——深入剖析AndFix热修复及自己动手实现
- 微博服务器瘫痪容易修复吗,微博服务器九次瘫痪,还有一个竟然连崩四回,程序员:放过我吧!...
- Bmob后端云初体验
- 怎样关联多个 Excel 档工作表(Sheet)中的数据
- 模块化开发一个电子商务网站
- BOM的增删改及复制