当前位置: 首页 > news >正文

网站建设资源分享/性价比高seo排名优化的

网站建设资源分享,性价比高seo排名优化的,做网站美工需要会什么软件,台州建站模板搭建栈,在这里说的是一种数据结构。 你还可能知道的栈 提到“栈”,做Java的同学还会想起Java内存模型中的“栈”,与之紧密关联的还有一个名词——堆,但是这里,此栈非彼栈。 引用《深入理解Java虚拟机》中有关栈的介绍 经常…

栈,在这里说的是一种数据结构。

你还可能知道的栈

提到“栈”,做Java的同学还会想起Java内存模型中的“栈”,与之紧密关联的还有一个名词——堆,但是这里,此栈非彼栈。

引用《深入理解Java虚拟机》中有关栈的介绍

经常有人把Java内存区分为堆内存(Heap)和栈内存(Stack),这种分法比较粗糙,Java内存区域的划分实际上远比这复杂。这种划分方式的流行只能说明大多数程序员最关注的、与对象内存分配关系最密切的内存区域是这两块。其中所指的“堆”笔者在后面专门讲述,而所指的“栈”就是现在讲的虚拟机栈,或者说是虚拟机栈中局部变量部分。

局部变量表存放了编译可知的各种基本数据类型(boolean、byte、char、short、int、float、long、double)、对象引用(reference类型,它不等同于对象本身,可能是一个只想对象起始地址的引用指针,也可能是指向一个对象的句柄或其他与此对象相关的位置)和returnAddress类型(指向了一条字节码指令的地址)

说人话就是,Java内存结构中的一部分,线程私有,用来存储指定的数据类型数据。

栈是什么

栈是一种数据结构,它有自己的特点

  • 它是一种线性表,同为线性表的还有之前说到的数组和链表

  • 它操作受限,具体表现在先进后出,后进先出,只能在一端进行数据的插入和删除

基于以上两点,大概就能勾勒出栈的模样。

栈的应用

经常听到有很多人抱怨说(也包括我~~~),如果知道这门课这么重要,我当时拼死老命也要把它学好。

还记得当时看吴恩达的《machine learning》,在前几节课里展示了如何使用聚类算法进行图像处理,如果使用增强学习算法让一个模型飞机飞起来

那么,我们来看下栈有什么应用

栈在表达式求值中的应用

给出一个表达式“3+5*8-6”,如果让你算,想必难不倒你。

交给机器做,肯定也难不倒它,机器甚至可以做更加复杂的你做不到的运算。

但是机器底层是怎么做的,如果不给定规则,它并不知道加减乘除是什么,也不知道他们的优先级顺序。所以,这时候栈就排上了用场。

具体做法:

准备两个栈,一个用来存储需要运算的数字,一个用来存储运算符号。

数字栈按照从左到右的顺序入栈,符号栈也是如此,只是除此之外还多了一个规则限定。

当新入栈的符号优先级比当前栈顶符号的优先级高的时候,继续入栈;当比栈顶符号优先级低或者相同时,则取出当前栈顶符号,同时取出数字栈的操作数字进行运算,将运算后的结果压栈,直至两个栈元素全部弹出。

具体看专题中给出的过程图

栈在括号匹配中的应用

给出一串“{(({[{{}}]}))}”,需要校验这串表达式中是否能前后一一匹配。

没错,这个也可以利用栈的特性解决。

具体做法:

从左到右扫描表达式,对于左括号入栈,遇到右括号则取出当前栈顶元素,如果发现匹配,则取出栈顶元素继续匹配。

当所有字符串匹配完成,并且栈最后是空栈,说明字符串可以正确匹配。

栈在浏览器前进后退中的应用

在浏览器中,我们可以通过前进后退回到自己想要的网页。

这个功能也是可以通过栈来实现的,具体做法:

准备两个栈,一个用于存放前进栈的网页ID,一个用于存放后退栈的网页ID。当需要前进的时候,从前进栈取出栈顶元素,并将该元素放入后退栈中;

当需要后退的时候,从后退栈取出栈顶元素,并将该元素放入前进栈中。

具体实现参见项目rome中的BackAndForwardUtil和BackAndForwardUtilDemo类

如何实现一个栈

采用链表接口实现一个栈结构


package com.jackie.algo.geek.time.chapter8_stack;/*** @Author: Jackie*/
public class Stack {private Node top = null; /** * 压栈 * @see com.jackie.algo.geek.time.chapter6_linkedlist.LinkedList 中的insertToHead方法和这里的push思想类似 * * |------| * | node | 上移后的top在这个位置 * |------| * | p | 一开始top在这里,经过node.next = top绑定了node和p关系后,又通过top = node,则将top上移 * |------| * | ... | * |------| * */ public void push(int value) { Node node = new Node(value, null); if (top == null) { top = node; } else { node.next = top; top = node; } } /** * 出栈 */ public int pop() { if (top == null) { return -1; } int value = top.value; top = top.next; return value; } public void printAll() { Node p = top; while (p != null) { System.out.print(p.value + " "); p = p.next; } System.out.println(); } public static class Node { private int value; private Node next; public Node(int value, Node next) { this.value = value; this.next = next; } } }

具体参见项目rome

转载于:https://www.cnblogs.com/chaochubei/p/10051742.html

http://www.lbrq.cn/news/1245565.html

相关文章:

  • 新疆建设工程网官网/seo网站首页推广
  • 盐城网站建设公司/如何创建自己的个人网站
  • 建设一个微信小说网站/上海十大营销策划公司
  • 织梦模板首页修改教程/关键词优化软件哪家好
  • 成都网站网页设计/广告联盟官网入口
  • 建设网站的准备工作/我想创建一个网络平台
  • 网站上传用什么软件做视频/百度经验首页官网
  • 农机局网站建设方案/最新国内你新闻
  • 专业的论坛网站建设/关键词提取工具
  • 企业网站的建立流程的第一步是/中国疫情今天最新消息
  • 建设个人网站步骤/软文广告文案
  • 苏州营销网站建设/泰安百度推广代理
  • 一个备案号可以放几个网站/微营销平台系统
  • 可以做心理测试的网站有哪些/福州seo建站
  • 静态网站和动态网站/优化是什么意思
  • 企业网站开发意义/网站快速排名的方法
  • 做百度手机网站排名/深圳网络营销怎么推广
  • 科普网站建设经验/网站建设黄页免费观看
  • 网站简繁体转换.rar/百度指数是什么
  • 网站如何备案 流程/网络营销网站
  • 网站系统建设架构/百度代理
  • 汕头网站制作服务商/百度网盘电脑网页版
  • 怎样做风水网站/win10最强性能优化设置
  • 软件工程软件项目管理/seo外包是什么意思
  • 淄博网站建设有实力/今日新闻摘抄
  • 做pc端网站好么/线上销售方案
  • 纯色涂料网站建设/收录优美的图片
  • asp做的是系统还是网站/seo专家招聘
  • 网页设计与网站建设第06章在线测试/女教师网课入侵录屏
  • 衡水做网站建设公司/深圳网站关键词优化公司
  • 电商前端Nginx访问日志收集分析实战
  • 「一键召唤 007」:开源多智能体 JoyAgent-JDGenie 如何让你的 AI 产品从 Demo 到 真香 只差 Ctrl+C / Ctrl+V?
  • Android ConstraintLayout 使用详解
  • USRP捕获手机/路由器数据传输信号波形(下)
  • 基于单片机胎压检测/锅炉蒸汽压力/气压检测系统
  • [25-cv-08377]Hublot手表商标带着14把“死神镰刀“来收割权!卖家速逃!