
数据结构与算法
Oh_MyBug
微信公众号【OhMyBug】
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java | 逆波兰计算器原理与实现
文章目录具体步骤中缀表达式转后缀表达式(逆波兰表达式)计算表达式结果自定义MathUtil工具类测试代码打印结果具体步骤/* * 后缀表达式适合计算式进行运算,但是人却不容易写出来,尤其是表达式很长的情况下, * 因此在开发中,我们需要将中缀表达式转成后缀表达式 * * 具体步骤: * 1. 初始化两个栈:运算符栈s1和储存中间结果的栈s2; * 2. 从左至右扫描中缀表达式...原创 2020-03-18 22:39:21 · 413 阅读 · 0 评论 -
Java | 链表栈实现综合计算器(中缀表达式)
栈(Stack)的理解/* * 栈(Stack) * 1. 栈是先入后出(FILO-First In Last Out)的有序列表。 * 2. 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一个特殊线性表。 * 允许插入和删除的一段,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom) * 3. 根据栈的定义可知,最先放入栈中元素在栈...原创 2020-03-18 10:49:51 · 522 阅读 · 0 评论 -
Java | 稀疏数组
文章目录数据结构稀疏数组二维数组与稀疏数组之间的转换将稀疏数组保存到磁盘上恢复原来的数组,读取sparseArr.dat进行恢复数据结构/* * 数据结构包括:线性结构和非线性结构 * 1. 线性结构: * 1.1 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 * 1.2 线性结构有两种不同的存储结构,即顺序存储结构(数组)和链式存储结构...原创 2020-03-16 21:58:07 · 206 阅读 · 0 评论 -
Java | 队列
队列/* * 队列 * 1. 队列是一个有序列表,可以用数组或是链表来实现 * 2. 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 * 3. 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明: * maxSize:队列的最大容量 * 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及rear分...原创 2020-03-16 21:57:08 · 179 阅读 · 0 评论 -
Java | 单链表
单链表介绍/* * 链表 * 1. 链表是以节点的方式来存储的,是链式存储 * 2. 每个节点包含data域,next域:指向下一个节点 * 3. 链表的各个节点不一定是连续存储 * 4. 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 * <p> * 单链表的应用举例 * 使用带head头的单向链表实现 -> RunningMan成员管理完成对成...原创 2020-03-16 21:56:19 · 322 阅读 · 0 评论 -
Java | Josephu(约瑟夫)问题
文章目录Josephu问题Boy类CircleSingleLinkedList类代码测试结果输出Josephu问题/* * Josephu问题: * 设编号为1,2,...,n的n个人围坐一圈,约定编号为k(1 <= k <= n)的人从1开始报数,数到m的那个人出列,它的下一位 * 又从1开始报数,数到m的那个人又出列,依此类推,直到所有人出列为止,由此产生一个出队编号...原创 2020-03-16 21:55:35 · 212 阅读 · 0 评论 -
Java | 双向链表
package Java_Algorithm.LinkList;import org.junit.Test;/** * ClassName: DoubleLinkedList * Date: 2020/3/16 19:16 * author: Oh_MyBug * version: V1.0 * * 管理单向链表的缺点分析: * 1. 单向链表,查找的方...原创 2020-03-16 21:54:36 · 196 阅读 · 0 评论