首页   >   新闻   >   文章

408 | 数据结构 线性表、栈、队列
- 2024 -
01/26
00:18
零号员工
发表时间:2024.01.26     作者:Jingyi     来源:ShoelessCai     阅读:180

图来自“学堂在线”。


2024.1.24 笔记

Pretalk 闲暇之间可以听听




2024年1月24日,今天计算机组成原理,真的是“锱铢”地完成的!

首先,什么是数据结构?满足什么条件?



2024.1.25 笔记

2024年1月25日。我略微整理了一些问题:

怎么做硬件创新?怎么做软件创新?如果已经在金融行业,是否需要转行?怎么考虑银行的问题?进入了国企我应该焦虑吗?像你这样辞职,会怎么发展?如果我想转行,该什么时候辞职?

Um,作为一个还在跑业务,还有很多工作还没收到回报的时候,我实在是没有太多的资格在这里,用一种好像很过来人的思路去说事。BUT!如果我啥都不说,分分钟被扔剧本,这剧本扔在我身上,尼玛连自己是什么角儿都不知道!多尴尬!

一方面,为了使得伙伴们的预期,尽可能地收敛到现实;另一方面,希望人们尽量少损失,尽量值得您们的时间,我将自己学到的一些内容作了整理。

Pretalk 哈哈,今天的 Pretalk 非常的长!











关于线性表。顺序存储、链式存储。

线性表,增删改查。注意,插入节点操作,对于链表而言,都是新设置的节点,节点先和链表交互,而且是链表中没有指针的节点操作,毕竟无指针的节点断开 Next 指针域之后,还有前一个节点指针可以操作。







关于栈和队列,英语分别为 Stack 以及 Queue。这两个概念是这样的,栈是在栈底的地方,删除或者插入,栈顶元素最后出栈。队列的话,是队头进入,队尾出。









关于队列,这几篇音频已经全部整理完毕。ShoelessCai 综合王道和学堂在线邓老师的《数据结构》的课程之后,关于队列的资料,整理如下。

首先关于卡特兰数,Catalan(n),这个指标是这么用的。如果入栈顺序 1,2,3,……,n, 出栈的顺序有 Catalan(n) 种。

公式的推导,点击《神奇的卡塔兰(Catalan)数》。

公式的应用,点击《「算法入门笔记」卡特兰数 》。


推导展开情况

Catalan Intuitive Understanding


其次,循环队列。循环队列,使用数组(线性表)来完成队列数据结构的,可以用 maxSize 作为循环队列的标准。例如, maxSize 值为 10,这个时候,队列元素在数组中所占空间的变化如下。


用“模余”运算自动完成循环


关于双端队列。顾名思义,双端队列是两端可以进行“插入”和“删除”操作的队列。如果一端只能插入不能删除的,属于“输出受限的双端队列”;如果一端只能删除不能插入的,属于“输入受限的双端队列”。

在理解双端队列的时候,如队列的顺序1-2-3-4,出队列顺序 1-4-2-3。SL表示左边进,XL表示左边出,XL表示右边进,XR表示右边出。1-4-2-3 序列出的时候,用上述符号表示的操作 SLXRSLSLSLXLXRXR。


双端队列示意图


关于堆栈,在处理中缀表达式、逆波兰表达式的时候非常有用。这种模式,使得计算机的动作,只有“出栈”、“入栈”和“运算”三种 —— 就像乐高积木一样。


王道关于逆波兰表达式(也称后缀表达式)的应用


关于特殊矩阵的压缩。

矩阵压缩,有“按行优先”、“按列优先”。针对矩阵中元素数量较少,0 元素较多的情况,0元素可以直接不存储。

针对上三角矩阵、下三角矩阵,某一元素 a 占据矩阵中许多位置的(通常都是上三角全部元素,或者下三角全部元素),可以先存储下三角或者上三角元素,最后留出一个位置,存储 a 这个元素。

按行优先、按列优先的示意图,如图所示。


按行优先、按列优先示意图


讲课













关于“如何做好风投”。我自己也没实践过,一点小意见,强烈建议有资本的同学,直接投 ETF。

“如何与小朋友和平相处”,按照得到脱不花的说法,父母也是要上岗证的!您要是现有闲钱,可以考虑加入得到训练营,参考全国最厉害的父母是怎么处理问题的。







原文链接



长按/扫码,有您的支持,我们会更加努力!









TOP 5 精选

       



回到顶部   回上一级
写文章

最新资讯




直播笔记


热点话题


精品论文


有你的鼓励
ShoelessCai 将更努力





文档免费。保护知识产权,保护创新。