技术栈
栈
_小草鱼_
7 天前
数据结构
·
数组
·
栈
·
队列
【数据结构】栈和队列
栈和队列都是操作受限的线性表,只允许在固定的一端进行插入和删除操作,核心区别完全来自存取规则。栈就像叠放的盘子、装子弹的弹夹,只能从最顶端放入元素、取出元素。
qeen87
11 天前
c语言
·
数据结构
·
学习
·
栈
【数据结构】栈及其C语言模拟实现
栈是一种特殊的线性表,它只允许元素在一段插入或者删除,而被插入或者删除的那一段被称之为栈顶相对应的另外一段则被称之为栈底,所以我们不难想象栈是一种先进后出(后进先出)的数据结构
旖-旎
11 天前
c++
·
算法
·
leetcode
·
力扣
·
栈
栈(验证栈序列)(5)
946. 验证栈序列 - 力扣(LeetCode)验证栈序列的核心在于模拟入栈和出栈的过程。我们使用一个辅助栈,按照 pushed 的顺序依次将元素压入栈中。
郝学胜-神的一滴
18 天前
数据结构
·
c++
·
程序人生
·
算法
·
栈
二叉树后序遍历:从递归到非递归的优雅实现
二叉树后序遍历:从递归到非递归的优雅实现在数据结构的学习中,二叉树的遍历是绕不开的核心知识点,而后序遍历作为三大基础遍历之一,因根节点的输出顺序后置,在实现上尤其是非递归实现上,有着独特的思维魅力。递归实现后序遍历简洁易懂,但其底层依赖系统栈,在实际开发中可能受栈深度限制;非递归实现则需要我们手动模拟系统栈的工作过程,是对二叉树遍历逻辑和栈结构应用的深度考验。本文将从后序遍历的基本概念出发,先讲解简洁的递归实现,再深入剖析如何通过双栈模拟将递归转为非递归,带你彻底吃透二叉树后序遍历的精髓✨。
xiaoye-duck
20 天前
c++
·
算法
·
栈
《算法题讲解指南:优选算法-栈》--65.删除字符中的所有相邻重复项,66.比较含退格的字符串,67.基本计算器II,68.字符串解码,69.验证栈序列
🔥小叶-duck:个人主页❄️个人专栏:《Data-Structure-Learning》《C++入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法
圣光SG
22 天前
数据结构
·
学习
·
链表
·
数组
·
栈
·
队列
数据结构通用笔记(语言无关)
Java、Python、JavaScript、C++ 等所有语言,只讲底层结构与逻辑,不讲语法差异,核心是理解“数据如何组织”,而非“用某语言如何写”。
披着羊皮不是狼
25 天前
数据结构
·
栈
·
底层原理
深度解构栈内存的物理逻辑与系统保护
在高级语言中,栈溢出通常意味着一个响亮的报错(如 StackOverflowError)。但在底层开发或缺乏硬件保护(无 MMU)的嵌入式场景下,溢出往往是以一种极其隐蔽的方式发生的:静默修改邻居数据。
iFlyCai
1 个月前
栈
·
数据结构与算法
栈的概念和用法
在日常编程中,你是否遇到过这样的场景:浏览器中的“后退”按钮、文本编辑器的“撤销”操作、函数调用的层层嵌套、表达式求值的优先级处理?这些看似不同的功能,背后都依赖于同一种数据结构——栈。
Q741_147
1 个月前
算法
·
leetcode
·
模拟
·
栈
·
映射
每日一题 力扣 2751.机器人碰撞 映射 模拟 栈 C++ 题解
力扣 2751.机器人碰撞示例 1: 输入:positions = [5,4,3,2,1], healths = [2,17,9,15,10], directions = “RRRRR” 输出:[2,17,9,15,10] 解释:在本例中不存在碰撞,因为所有机器人向同一方向移动。所以,从第一个机器人开始依序返回健康度,[2, 17, 9, 15, 10] 。
Book思议-
1 个月前
c语言
·
数据结构
·
算法
·
栈
·
队列
【数据结构】栈与队列全方位对比 + C 语言完整实现
栈(Stack)和队列(Queue)是数据结构中最基础、最重要的受限线性表,是算法与程序设计的核心基石。二者逻辑结构均为线性结构,仅在操作规则上存在限制,却衍生出完全不同的应用场景。
Book思议-
1 个月前
数据结构
·
算法
·
栈
·
后缀表达式
·
后缀转中缀
【数据结构实战】栈的经典应用:后缀表达式求值 +中缀转后缀 ,原理 + 代码双通透
在数据结构的栈应用中,后缀表达式(逆波兰表达式)是经典的实战场景。相较于我们日常使用的中缀表达式,后缀表达式无需括号即可明确表达运算优先级,极大简化了计算机的表达式解析过程。本文将从后缀表达式的核心概念出发,结合 C 语言完整代码,讲解后缀表达式求值和中缀表达式转后缀表达式的实现思路,同时对代码进行逐行详细注释,让新手也能轻松理解。
Q741_147
1 个月前
c++
·
算法
·
leetcode
·
矩阵
·
模拟
·
数组
·
栈
每日一题 力扣 2946. 循环移位后的矩阵相似检查 力扣 155. 最小栈 数学 数组 模拟 C++ 题解
力扣 2946. 循环移位后的矩阵相似检查示例 1: 输入:mat = [[1,2,1,2],[5,5,5,5],[6,3,6,3]], k = 2 输出:true 解释: 初始矩阵如图一所示。 图二表示对奇数行右移一次且对偶数行左移一次后的矩阵状态。 图三是经过两次循环移位后的最终矩阵状态,与初始矩阵相同。 因此,返回 true 。
Book思议-
1 个月前
数据结构
·
算法
·
链表
·
栈
·
408
【数据结构实战】C语言实现栈的链式存储:从初始化到销毁,手把手教你写可运行代码
栈是一种非常经典的 ** 后进先出(LIFO)** 线性数据结构。在 C 语言中,栈有两种常见实现方式:顺序栈(数组实现)和链式栈(链表实现)。
Book思议-
1 个月前
c语言
·
数据结构
·
算法
·
栈
【数据结构实战】川剧 “扯脸” 与栈的 LIFO 特性 :用 C 语言实现 3 种栈结构
川剧 “扯脸” 是极具特色的变脸手法:事先将白色、黄色、黑色、红色、青色、金色、银色的脸谱依次贴在脸上,表演时在动作掩护下从最后贴的那张开始,一张一张扯下。
罗超驿
1 个月前
java
·
数据结构
·
栈
Java数据结构_栈_算法题
目录一、将递归转化为循环二、括号匹配三、栈的压入、弹出序列四、逆波兰表达式求值五、最小栈--以O(1)时间来获取到他的最小值
I_LPL
1 个月前
算法
·
栈
hot100 栈专题
不难,但是要考虑多种情况技巧:入栈的时候,( 就入 ),[ 就入 ]。如果遇到右括号,则判断stack是否为空,考虑())的情况
Fcy648
1 个月前
数据结构
·
树
·
栈
·
队列
算法竞赛有关数据结构的补充(2)--- 栈、队列的静态实现和树的实现
栈是一种只允许在一端进行数据插入和删除操作的线性表。栈其实是一个比较简单的数据结构。学习的重点在于用栈去解决问题,这也是难点。
阿里嘎多哈基米
1 个月前
数据结构
·
算法
·
leetcode
·
栈
·
队列
·
hot100
速通Hot100-Day07——栈
【分析】时间push/emptyO(1)pop/peekO(n),空间O(n)时间复杂度:push 和 empty 为 O(1),pop 和 peek 为均摊 O(1)。对于每个元素,至多入栈和出栈各两次,故均摊复杂度为 O(1)。
im_AMBER
2 个月前
数据结构
·
学习
·
算法
·
leetcode
·
栈
Leetcode 136 最小栈 | 逆波兰表达式求值
155. 最小栈提示设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。