
数据结构
知识搬运工Mr.zh
这个作者很懒,什么都没留下…
展开
-
2020-08-24
中缀表达式和后缀表达式1. 中缀表达式(栈实现综合计算器)请输入一个表达式:计算:722-5+1-5+3-3思路分析:通过一个index值(索引)来遍历我们的表达式;如果发现是一个数字,就直接入数栈;如果发现扫描到一个符号,就分如下情况;3.1 如果当前符号栈为空,就直接入栈;3.2 如果符号栈有操作数,就进行比较,如果当前操作符的优先级小于或则和等于栈中的操作符,就需要从数栈种pop出两个数,从符号栈种pop出一个运算符,进行运算,将得到的结果入数栈,然后将当前的操作符入符号栈;如果当原创 2020-08-24 16:55:48 · 97 阅读 · 0 评论 -
1.3.3链表
一、算法1.2 下压堆栈(链表实现)可以处理任意的数据类型所需要的空间总是和集合的大小成正比操作所需要的时间总是和集合的大小没有关系public class Stack<Item> implements Iterable{ private Node first; //栈顶(最近添加的元素) private int N; //元素数量 private class No...原创 2019-10-15 09:44:48 · 132 阅读 · 0 评论 -
1.3.2 集合类数据类型实现
定容栈可以动态调整栈大小泛型逆序遍历实现Iterable接口实现逆序遍历public class ResizingArrayStack<Item> implements Iterable<Item> { private Item[] a = (Item[]) new Object[1]; //栈元素 private int N=0; //元素数量 pu...原创 2019-10-14 10:01:08 · 141 阅读 · 0 评论 -
1.栈-双栈算术表达式求值运算
局限性:1.表示式必须使用括号括起来2.表达式的括号只能有一个运算符public class Evaluate { public static void main(String[] args) { Stack<String> ops = new Stack<>(); Stack<Double> vals = new Stack<>()...原创 2019-10-10 10:16:55 · 264 阅读 · 0 评论 -
二叉树遍历-非递归方法
二叉树遍历-非递归方法二叉树遍历-非递归方法1. 使用迭代方法,不使用递归方法,实现一个二叉树的前序遍历1) 算法思想:使用堆栈辅助2) 实现程序如下:2. 使用迭代方法,不使用递归方法,实现一个二叉树的后序遍历1) 算法思想:使用堆栈辅助2) 实现程序如下:二叉树遍历-非递归方法1. 使用迭代方法,不使用递归方法,实现一个二叉树的前序遍历1) 算法思想:使用堆栈辅助创建一个堆栈和一个链表分别用来存储中间变量和结果,并且将root结点入栈。如果栈不为空,从栈顶出栈一个结点,记为结点n ,存入链表原创 2020-06-11 21:41:35 · 467 阅读 · 0 评论