设计师推荐网站沈阳网站优化怎么做

张小明 2026/1/11 11:31:17
设计师推荐网站,沈阳网站优化怎么做,做网站需要简介,丹阳企业网站制作一、什么是栈#xff1f;栈#xff08;Stack#xff09;:是一种 后进先出#xff08;LIFO#xff0c;Last In First Out#xff09; 的数据结构。栈的核心特性只能在一端操作#xff08;称为 栈顶 top#xff09;基本操作#xff1a;入栈#xff08;push#xff09;…一、什么是栈栈Stack:是一种后进先出LIFOLast In First Out的数据结构。栈的核心特性只能在一端操作称为栈顶 top基本操作入栈push出栈pop查看栈顶peek二、栈的逻辑结构 vs 物理结构逻辑结构栈顶 ┌───┐ │ 3 │ ├───┤ │ 2 │ ├───┤ │ 1 │ └───┘ 栈底物理实现方式数组实现顺序栈链表实现链式栈三、手写一个顺序栈数组实现1. 栈的基本结构public class ArrayStack { private int[] data; // 存放元素 private int top; // 栈顶指针 private int capacity; public ArrayStack(int capacity) { this.capacity capacity; data new int[capacity]; top -1; // 栈空 } }2. 入栈pushpublic void push(int value) { if (top capacity - 1) { throw new RuntimeException(栈满无法入栈); } data[top] value; }关键点top capacity - 1→ 栈满先top再赋值3. 出栈poppublic int pop() { if (top -1) { throw new RuntimeException(栈空无法出栈); } return data[top--]; }关键点先取值再top--4. 查看栈顶peekpublic int peek() { if (top -1) { throw new RuntimeException(栈空); } return data[top]; }5. 测试代码public static void main(String[] args) { ArrayStack stack new ArrayStack(5); stack.push(1); stack.push(2); stack.push(3); System.out.println(stack.pop()); // 3 System.out.println(stack.peek()); // 2 }四、链式栈链表实现优势不需要扩容不受数组大小限制1. 节点定义class Node { int value; Node next; Node(int value) { this.value value; } }2. 栈结构public class LinkedStack { private Node top; public LinkedStack() { top null; } }3. 入栈头插法public void push(int value) { Node node new Node(value); node.next top; top node; }4. 出栈public int pop() { if (top null) { throw new RuntimeException(栈空); } int value top.value; top top.next; return value; }五、栈的经典应用 ①括号匹配问题描述输入 {[()]} 输出 true解题思路左括号 → 入栈右括号 → 弹栈匹配代码实现public static boolean isValid(String s) { DequeCharacter stack new ArrayDeque(); for (char c : s.toCharArray()) { if (c ( || c [ || c {) { stack.push(c); } else { if (stack.isEmpty()) return false; char top stack.pop(); if (c ) top ! () return false; if (c ] top ! [) return false; if (c } top ! {) return false; } } return stack.isEmpty(); }六、栈的经典应用 ②表达式求值逆波兰示例输入[2,1,,3,*] 输出9代码实现public static int evalRPN(String[] tokens) { DequeInteger stack new ArrayDeque(); for (String token : tokens) { if (-*/.contains(token)) { int b stack.pop(); int a stack.pop(); switch (token) { case : stack.push(a b); break; case -: stack.push(a - b); break; case *: stack.push(a * b); break; case /: stack.push(a / b); break; } } else { stack.push(Integer.parseInt(token)); } } return stack.pop(); }七、栈在系统层面的真实应用1. JVM 虚拟机栈每个线程一个栈栈帧包含局部变量表操作数栈返回地址递归本质 不断入栈2. 函数调用过程void a() { b(); } void b() { c(); }调用顺序a 入栈 b 入栈 c 入栈 c 出栈 b 出栈 a 出栈八、栈常见面试问题总结题型关键词括号匹配栈单调栈下一个更大元素表达式求值操作数栈DFS / 回溯系统栈中序 → 后序栈九、总结一句话栈的本质延迟处理 最近优先掌握栈你会突然发现递归不再神秘表达式计算有迹可循很多“看起来复杂”的问题本质只是一个栈
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

开发一个网站做公司内部用wordpress 引入自定义 php 文件

直播带货话术优化:基于竞品分析的AI建议系统 在直播间里,一句话能决定一场直播的成败。一个精准的情绪钩子、一句恰到好处的价格锚定,甚至是对用户痛点的一次共情回应,都可能直接撬动转化率的跃升。然而,大多数主播仍在…

张小明 2026/1/7 19:43:25 网站建设

设计师常去的网站厦门网红打卡地

TensorFlow 模型如何导出为 ONNX?实战全解析 在现代 AI 工程实践中,一个常见的挑战是:模型在 TensorFlow 中训练得非常完美,但部署时却受限于平台环境——比如目标设备不支持 TensorFlow 运行时,或者需要利用更高效的…

张小明 2026/1/9 9:07:15 网站建设

一家专门做母婴的网站泰兴彩页设计

拉格朗日插值法在量子电路参数偏移规则中的应用 1. 拉格朗日插值与参数偏移规则基础 在量子计算中,拉格朗日插值法可用于推导参数偏移规则。首先,有如下方程组: [ \begin{cases} d_1 \sin(\frac{\alpha_1}{2}) + d_2 \sin(\frac{\alpha_2}{2}) = \frac{1}{4}\ d_1 \si…

张小明 2026/1/7 19:44:52 网站建设

企业做网站设计的qq网页注册入口

第一章:如何用Open-AutoGLM实现零代码AI推理?5分钟上手教程来了什么是Open-AutoGLM? Open-AutoGLM 是一款开源的可视化AI推理平台,支持无需编写代码即可完成模型部署与推理任务。它基于AutoGLM架构,集成多种预训练大模…

张小明 2026/1/7 19:43:33 网站建设

西安建设企业网站山西太原最新消息今天

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达在计算机视觉领域,图像去噪技术始终是底层视觉任务的核心研究方向。传统监督学习方法依赖海量噪声-干净图像对,泛化能力受限;现有零样…

张小明 2026/1/7 19:43:30 网站建设

网站设计评语科技网站有哪些

Screen to Gif 实战精要:如何精准删帧,打造专业级 GIF 动画你有没有过这样的经历?辛辛苦苦录了一段操作流程,想做成 GIF 发给同事或发在文档里,结果导出文件大得离谱,播放起来还卡顿、跳跃、节奏拖沓。点开…

张小明 2026/1/7 19:43:32 网站建设