10 2020 档案
摘要:逆波兰式计算器 1) 输入一个逆波兰表达式(后缀表达式),使用栈(Stack), 计算其结果2) 支持小括号和多位数整数,只支持对整数的计算。 思路分析: 从左至右扫描表达式, 遇到数字时,将数字压入堆栈, 遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(次顶元素 和 栈顶元素),并将结
阅读全文
摘要:思路分析: 1) 初始化两个栈:运算符栈s1和储存中间结果的栈s2(s2实际可用ArrayList);2) 从左至右扫描中缀表达式;3) 遇到操作数时,将其压s2;4) 遇到运算符时,比较其与s1栈顶运算符的优先级: (1)如果 s1 为空,或栈顶运算符为左括号“(”,则直接将此运算符入栈;(2)否
阅读全文
摘要:前缀表达式(波兰表达式) 1)前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前 2)举例说明: (3+4)×5-6 对应的前缀表达式就是 - × + 3 4 5 6 前缀表达式的计算机求值 从右至左扫描表达式,遇到数字时,将数字压入堆栈, 遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的
阅读全文
摘要:栈的介绍 栈的英文为:Stack 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一 种特殊线性表。允许插入和删除的 一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Botto
阅读全文
摘要:问题描述: 设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由 此产生一个出队编号的序列。 解决方案: 用一个不带头结点的循环链表来处理
阅读全文
摘要:管理单向链表的缺点分析: 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。 单向链表不能自我删除,需要靠辅助节点 ,而双向链表,则可以自我删除,所以前面我们单链表删除节点时,总是找到 temp,temp 是待删除节点的前一个节点。 双向链表如何完成遍历,添加,修改和删除的思路 1
阅读全文
摘要:一、求单链表中有效节点的个数: 1. //获取链表中的有效节点数 2. //方法:获取到单链表的节点的个数(如果是带头结点的链表,需求不统计头节点) 3. public static int getLength(hero head) { 4. if (head.getNext() == null)
阅读全文
摘要:问题:使用带 head 头的单向链表实现 –英雄列表管理完成对英雄人物的增删改查操作。 首先准备一个hero类: 1. class hero { 2. private int num;//序号(排名) 3. private String name;//名称 4. private String nik
阅读全文
摘要:链表介绍 链表是有序的列表,但是它在内存中是存储如下: 说明: 1) 链表是以节点的方式来存储,是链式存储2) 每个节点包含 data 域, next 域:指向下一个节点.3) 如图:发现链表的各个节点不一定是连续存储.4) 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 单链表(带头
阅读全文
摘要:1) 队列是一个有序列表,可以用数组或是链表来实现。2) 遵循先入先出(FIFO)的原则。即:先存入队列的数据,要先取出。后存入的要后取出3) 示意图:(使用数组模拟队列示意图) 数组模拟队列思路 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize
阅读全文
摘要:1. /** 2. * 练习,1、将得到的稀疏数组保存到文件map.txt中 3. */ 4. FileWriter writer = null; 5. try { 6. File file = new File("E:\\IDEA Project\\DataStructures\\SparseAr
阅读全文
摘要:应用实例 1) 使用稀疏数组,来保留类似前面的二维数组(棋盘、地图等等)2) 把稀疏数组存盘,并且可以从新恢复原来的二维数组数3) 思路分析: 二维数组转稀疏数组的思路: 1、遍历原始二维数组,得到有效数据的个数 :sum 2、根据sun就可以创建稀疏数组:sparseArr int[sum+1][
阅读全文
摘要:问题引入: 因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据.-->稀疏数组 基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 1) 记录数组一共有几行几列,有多少个不为0的值 ) 把具有不同值的元素的行列及值记录
阅读全文