美文网首页
栈与栈的应用

栈与栈的应用

作者: wintersweett | 来源:发表于2020-01-03 10:57 被阅读0次

一、阅读源码,得知,stack类继承自Vector,而Vector相当于线程安全的arraylist(相反的arraylist相当于线程不安全的Vector)
二、删除的经典代码:
elementCount--;
elementData[elementCount] = null; /* to let gc do its work /
三、顺序栈,链式栈(链式栈比顺序栈节省内存空间,因为他不需要扩容)
链表的逆序排序,就用到了入栈出栈操作
四、例:a>>1与a/2,哪个性能好?a<<1 与a
2 哪个性能好,当然移位运算性能好了,这就涉及到我们要讲的逆波兰表达式,高级语言中a/2需要六个指令才能完成,而位移只需要一个指令就能完成
逆波兰表达式:中缀表达式--->后缀表达式:
1)秘诀:数字输出,运算符进栈,括号匹配出栈,比栈顶优先级低就出栈
2)后缀表达式如何计算:数字入栈;符号取两个进行计算,再入栈
高级语言不是操作硬件

五、递归:大问题--->小问题
如 //递归
public static void func(int n) {
System.out.println(n);
if (n < 0) {
return;
} else {
func(n-1);//递归调用自己后的所有的代码都会压入一个栈
System.out.println(n);
}
}
结果:
3
2
1
0
-1
0
1
2
3
涉及到方法栈,方法栈在后台也是用链式结构来存储的


image.png

相关文章

  • 栈与栈的应用

    一、阅读源码,得知,stack类继承自Vector,而Vector相当于线程安全的arraylist(相反的arr...

  • 数据结构学习 | 队列和栈

    栈 后进先出 栈顶允许插入(压栈)、删除(弹栈) 应用:数制转换数制转换与栈 队列 先进先出 队列头部允许删除,队...

  • 1)栈是什么?2)栈的特点?3)栈的基本操作有哪些?4)栈已被应用的经典场景有哪些?栈的应用场景? 一、栈是什么?...

  • 数据结构复习

    第三章 栈和队列 一 栈 栈的类型 顺序栈 链式栈 双向栈 栈的应用 数制转换 行编辑程序 迷宫求解 表达式求值:...

  • 算法-栈和队列算法总结

    栈和队列算法总结 1 模拟 1.1 使用栈实现队列 1.2 使用队列实现栈 2 栈的应用 2.1 栈操作 2.2 ...

  • PHP 栈的实现与应用

    下面我们将探讨栈在 PHP 中的实现与应用. 理解栈 栈是线性数据结构,遵循着后进先出的原则.这意味着栈只有一个端...

  • 前端-算法1:栈、队列、链表

    栈 一个先进后出的数据结构JS中没有栈,用Array实现栈的功能进栈: push 出栈:pop栈的应用场景: 十进...

  • 数据结构与算法之栈(四)

    一 目录 栈的介绍 栈的接口设计 栈的应用 - 浏览器前进后退 栈的使用 - 匹配有效括号 栈相关面试题 二 简介...

  • 栈: 顺序栈 栈的应用:函数调用栈,表达式求值,括号匹配,浏览器的前进后退。相关code:https://gith...

  • 数据结构之栈应用

    栈在表达式求职中的应用 分两个栈:操作数栈和数字栈;压栈出栈规则:遍历表达式 如果是数字则直接压入数字栈 如果是操...

网友评论

      本文标题:栈与栈的应用

      本文链接:https://www.haomeiwen.com/subject/tloguctx.html