![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java数据结构
文章平均质量分 96
队列(Queue)、单链表、双向链表、环形链表
Tony-1fan
这个作者很懒,什么都没留下…
展开
-
递归-介绍、概念、调用机制、应用、规则、迷宫问题。马踏棋盘问题。
1 递归介绍1.1 概念递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时让代码更简洁。1.2 调用机制打印问题阶乘问题public static void factorial(int n){ if(n == 1){ return 1; }else { return factorial(n-1)*n; }}1.3 递归能解决的问题数学问题:8皇后,汉诺塔,阶乘,迷宫,球和篮子算法中:快排,归并排序,二分查找,分治算法可以将用原创 2021-01-23 18:24:15 · 260 阅读 · 0 评论 -
栈-FILO、栈的基本介绍、数组模拟栈、栈实现综合计算器(中缀表达式)、前缀中缀后缀表达式、逆波兰计算器、中缀表达式转后缀表达式、完整版逆波兰计算器
1 栈的基本介绍1.1 stack性质栈是一个先入后出(FILO)的有序列表栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。 允许插入和删除的一端, 为变化的一端, 称为栈顶(Top), 另一端为固定的一端, 称为栈底(Bottom)。根据栈的定义可知, 最先放入栈中元素在栈底, 最后放入的元素在栈顶, 而删除元素刚好相反, 最后放入的元素最先删除, 最先放入的元素最后删除1.2 栈的应用场景子程序的调用:在跳往子程序前, 会先将下个指令的地址存到原创 2020-11-20 16:10:15 · 4277 阅读 · 0 评论 -
链表-单链表内存结构、逻辑结构、特点、定义、遍历、尾插、按顺序插入、修改、删除;有效节点个数、倒数第k个元素、单链表反转、合并2个有序单链表。双向链表-定义、增删改查。单向环形链表-Joseph
1. 单链表介绍1.1 内存结构从内存上看:链表的空间不连续(有别于数组)1.2 逻辑结构逻辑上来看:链表属于线性结构1.3 链表特点链表是以节点的方式来储存的,是链式结构节点分为数据域(data)和地址域(next);data域存放数据,next域指向下一个节点链表分带头结点的链表和没有头结点的链表,根据实际需求确定2. 链表定义与使用2.1 链表节点定义no:英雄编号name:英雄名字nickName:英雄昵称next:指向下一个HeroNode节点//原创 2020-11-14 19:21:06 · 1517 阅读 · 0 评论 -
稀疏数组和队列-稀疏数组应用、数组模拟队列、数组模拟环形队列
1 稀疏数组1.1 实际需求二维数组的很多值是默认值 0 ,记录了很多没有意义的数据,可以将其转为稀疏数组进行存储。1.2 稀疏数组应用实例原始数组转换成稀疏数组(代码)//测试代码class Demo{ public static void main(String[] args){ //创建一个11*11的二维数组 // 0: 表示没有棋子, 1 表示 黑子 2 表蓝子 int[][] array = new int[11][11]; array[1][2] = 1原创 2020-11-13 16:19:16 · 412 阅读 · 0 评论