xiaoye-duck4 小时前
c++·算法·
《算法题讲解指南:优选算法-栈》--65.删除字符中的所有相邻重复项,66.比较含退格的字符串,67.基本计算器II,68.字符串解码,69.验证栈序列🔥小叶-duck:个人主页❄️个人专栏:《Data-Structure-Learning》《C++入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法
圣光SG2 天前
数据结构·学习·链表·数组··队列
数据结构通用笔记(语言无关)Java、Python、JavaScript、C++ 等所有语言,只讲底层结构与逻辑,不讲语法差异,核心是理解“数据如何组织”,而非“用某语言如何写”。
披着羊皮不是狼5 天前
数据结构··底层原理
深度解构栈内存的物理逻辑与系统保护在高级语言中,栈溢出通常意味着一个响亮的报错(如 StackOverflowError)。但在底层开发或缺乏硬件保护(无 MMU)的嵌入式场景下,溢出往往是以一种极其隐蔽的方式发生的:静默修改邻居数据。
iFlyCai6 天前
·数据结构与算法
栈的概念和用法在日常编程中,你是否遇到过这样的场景:浏览器中的“后退”按钮、文本编辑器的“撤销”操作、函数调用的层层嵌套、表达式求值的优先级处理?这些看似不同的功能,背后都依赖于同一种数据结构——栈。
Q741_1477 天前
算法·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思议-9 天前
c语言·数据结构·算法··队列
【数据结构】栈与队列全方位对比 + C 语言完整实现栈(Stack)和队列(Queue)是数据结构中最基础、最重要的受限线性表,是算法与程序设计的核心基石。二者逻辑结构均为线性结构,仅在操作规则上存在限制,却衍生出完全不同的应用场景。
Book思议-9 天前
数据结构·算法··后缀表达式·后缀转中缀
【数据结构实战】栈的经典应用:后缀表达式求值 +中缀转后缀 ,原理 + 代码双通透在数据结构的栈应用中,后缀表达式(逆波兰表达式)是经典的实战场景。相较于我们日常使用的中缀表达式,后缀表达式无需括号即可明确表达运算优先级,极大简化了计算机的表达式解析过程。本文将从后缀表达式的核心概念出发,结合 C 语言完整代码,讲解后缀表达式求值和中缀表达式转后缀表达式的实现思路,同时对代码进行逐行详细注释,让新手也能轻松理解。
Q741_14712 天前
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思议-14 天前
数据结构·算法·链表··408
【数据结构实战】C语言实现栈的链式存储:从初始化到销毁,手把手教你写可运行代码栈是一种非常经典的 ** 后进先出(LIFO)** 线性数据结构。在 C 语言中,栈有两种常见实现方式:顺序栈(数组实现)和链式栈(链表实现)。
Book思议-14 天前
c语言·数据结构·算法·
【数据结构实战】川剧 “扯脸” 与栈的 LIFO 特性 :用 C 语言实现 3 种栈结构川剧 “扯脸” 是极具特色的变脸手法:事先将白色、黄色、黑色、红色、青色、金色、银色的脸谱依次贴在脸上,表演时在动作掩护下从最后贴的那张开始,一张一张扯下。
罗超驿17 天前
java·数据结构·
Java数据结构_栈_算法题目录一、将递归转化为循环二、括号匹配三、栈的压入、弹出序列四、逆波兰表达式求值五、最小栈--以O(1)时间来获取到他的最小值
I_LPL19 天前
算法·
hot100 栈专题不难,但是要考虑多种情况技巧:入栈的时候,( 就入 ),[ 就入 ]。如果遇到右括号,则判断stack是否为空,考虑())的情况
Fcy64820 天前
数据结构···队列
算法竞赛有关数据结构的补充(2)--- 栈、队列的静态实现和树的实现栈是一种只允许在一端进行数据插入和删除操作的线性表。栈其实是一个比较简单的数据结构。学习的重点在于用栈去解决问题,这也是难点。
阿里嘎多哈基米24 天前
数据结构·算法·leetcode··队列·hot100
速通Hot100-Day07——栈【分析】时间push/emptyO(1)pop/peekO(n),空间O(n)时间复杂度:push 和 empty 为 O(1),pop 和 peek 为均摊 O(1)。对于每个元素,至多入栈和出栈各两次,故均摊复杂度为 O(1)。
im_AMBER1 个月前
数据结构·学习·算法·leetcode·
Leetcode 136 最小栈 | 逆波兰表达式求值155. 最小栈提示设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。
识君啊1 个月前
java·数据结构·算法·leetcode·字符串·
Java字符串算法核心攻略提示:在 ASCII 码(美国信息交换标准代码)中,大小写英文字母和数字的十进制数值范围如下:大写字母 (A - Z):
季明洵2 个月前
java·数据结构·算法··队列
Java实现循环队列、栈实现队列、队列实现栈队列是一种常见的线性数据结构,遵循先进先出(FIFO,First In First Out)原则。也就是说,最先进入队列的元素会最先被移除。
ValhallaCoder2 个月前
数据结构·python·算法·
hot100-栈20. 有效的括号 - 力扣(LeetCode)时间复杂度:O(n)空间复杂度:O(n+∣Σ∣) # 其中 Σ 表示字符集,是哈希表的大小。
识君啊2 个月前
java·数据结构·leetcode·deque··stack·lifo
Java 栈 - 附LeetCode 经典题解从底层原理到实战应用,彻底掌握 Java 栈的使用想象一摞盘子:只能在最上面放盘子(入栈 push),只能拿最上面的盘子(出栈 pop),只能看最上面的盘子(查看栈顶 peek)。这就是栈的核心特性:后进先出(LIFO - Last In First Out)。