数据结构
文章平均质量分 76
dh@
这个作者很懒,什么都没留下…
展开
-
Java单向环形链表解决约瑟夫(Josephu)问题
Josephu(约瑟夫、约瑟夫环) 问题Josephu 问题为:设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。思路用一个循环链表来处理Josephu 问题:先构成一个有n个结点的单循环链表,然后由k结点起...原创 2020-04-11 20:42:21 · 195 阅读 · 0 评论 -
Java手写双向循环链表
手写双向循环链表1.双向循环链表1)数组(ArrayList)与链表(LinkedList)的区别:2)双向循环链表2.实现代码1.双向循环链表1)数组(ArrayList)与链表(LinkedList)的区别:数组的优点: 直接通过下标来访问某个元素速度非常快。数组的缺点: 插入或者删除某个元素比较慢(因为需要调整整个数组)。另外,需要有连续的地址空间。链表的优点: 插入或者删除某个...原创 2019-10-03 17:03:54 · 347 阅读 · 0 评论 -
Java实现稀疏数组
文章目录稀疏数组1. 先看一个实际需求2. 基本介绍3. 应用实例4. 整体思路分析5. 代码实现稀疏数组1. 先看一个实际需求五子棋程序中,有存盘退出和继续游戏的功能0 表示该位置没有棋子1 表示黑子2 表示蓝子分析问题:因为该数组中很多值都是默认值 0 ,因此记录了很多没有意义的数据,我们可以使用稀疏数组来缩小数组的规模2. 基本介绍当数组中大部分元素为 ...原创 2020-04-10 20:14:33 · 137 阅读 · 0 评论