10 2021 档案

摘要:约瑟夫环:假如有n(n≥1)个人手拉手围在一起,从m(1≤m≤n)个人开始报数,最后一下报数的人出列,则出列的人的左右两边的人手拉手构成一个新的环状。 依次类推,直到最后一个人出列。 思路分析:先创建一个环形单向链表。每次添加节点的时候,永远将最后一个节点的next指针指向头结点。 创建指针curI 阅读全文
posted @ 2021-10-26 09:39 曾经沧海难为水。 阅读(69) 评论(0) 推荐(0)
摘要:单链表: 链表是以节点的方式来存储数据的,是链式存储结构。 每个节点包含data域和next域,next域指向下一个节点。 链表的各个节点在内存中不一定是连续存储的。 链表分为带头节点的链表和不带头节点的链表,根据实际需求来确定。 单链表图示: 代码实现: package dataStructure 阅读全文
posted @ 2021-10-20 21:27 曾经沧海难为水。 阅读(71) 评论(0) 推荐(0)
摘要:虽然在数据结构与算法(Java版)_03_队列时已经对队列这种数据结构进行了简单的模拟, 但是这个模拟的小demo还是存在一些问题,就是这种方式模拟的队列只能使用一次。 那么如何解决这个问题呢,可以使用环形队列来解决这个问题。 优化方案: font指向第一个元素; rear指向最后一个元素的后一个位 阅读全文
posted @ 2021-10-19 19:35 曾经沧海难为水。 阅读(105) 评论(0) 推荐(0)
摘要:队列 队列是一个有序列表,可以用数组或者链表来实现。 队列遵循先进先出的原则,即先存入队列的数据先被取出。 代码实现: package dataStructureAtShangGuiGu; import java.util.Scanner; public class QueueDemo { publ 阅读全文
posted @ 2021-10-18 22:41 曾经沧海难为水。 阅读(39) 评论(0) 推荐(0)
摘要:稀疏数组使用场景: 当一个二维数组中很多元素为0或为同一个值时,可以用稀疏数组保存该数组。 稀疏数组使用方法 1.先统计原二维数组行和列数,以及有多少个不为0的数或多少个不同的数。 2.创建一个二维数组作为稀疏数组,第一行分别存放行数、列数、多少个不为0的数或多少个不同的数。 3.遍历数组,将每个不 阅读全文
posted @ 2021-10-18 19:57 曾经沧海难为水。 阅读(98) 评论(0) 推荐(0)
摘要:会CURD已经可以做项目了,为什么还要学习数据结构和算法? 1.学习数据结构与算法能培养专业的程序设计思维; 2.学习数据结构与算法能编写出更优雅的代码,从而写出更优秀的程序; 数据结构有两种:线性结构和非线性结构。 线性结构特点是数据元素存在一对一线性关系。 线性结构有两种不同的存储结构,即顺序存 阅读全文
posted @ 2021-10-18 18:59 曾经沧海难为水。 阅读(36) 评论(0) 推荐(0)