![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
你说的那一天
初入职场
展开
-
数据结构与算法(六)- 单向链表的反转
数据结构与算法(六)- 单向链表的反转 一.头节点插入法 /** * 反转单向链表(头插法) * * 1.先定义一个节点reverseHead = new HeroNode() * 2.从头到尾遍历原来的链表,每遍历一个节点,就将其取出,并放在新的链表的最前端 * 3.原来的链表的head.next = reverseHead.next * @param head * @return */ public static S原创 2021-08-05 17:26:36 · 106 阅读 · 1 评论 -
数据结构与算法(五)- 链表
数据结构与算法(五)- 链表 创建单向链表 先创建一个head头节点,用来表示单向链表的头 public int no; public String name; public String nickName; public HeorNode next;//指向下一个节点 后面每添加一个节点,就直接加到当前链表的结尾处 /** * 添加节点到单向链表 * 思路:当不考虑编号顺序时 * 1.找到当前链表的最后节点 * 2原创 2021-08-05 17:25:58 · 70 阅读 · 0 评论 -
数据结构与算法(四)- 用数组模拟环形队列
数据结构与算法(四)- 用数组模拟环形队列 对前面的数组模拟队列的优化,充分利用数组,因此将数组看作是一个环形的。(通过取模的方式来实现) 思路如下: front变量的含义做一个调整:front就指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素,front的初始值=0 /** * front的变量含义做一个调整:front就指向队列的第一个元素,也就是说arr[front] * 初始值 = 0 */ private int front;原创 2021-08-05 17:17:17 · 79 阅读 · 0 评论 -
数据结构与算法(三)- 队列
数据结构与算法(三)- 队列 队列是一个有序表,可以用数组或链表来实现 遵循先入先出的原则。即:先存入队列的数据要先取出,后存入的要后出。 用数组模拟队列 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize是该队列的最大容量。 因为队列的输出、输入是分别从前后端来处理。因此需要两个变量front及rear分别记录队列前后端的下标,front会随着数据输出而改变,而rear则是随着数据输入而改变 初始化一个队列 /** * 数组原创 2021-08-05 17:15:42 · 73 阅读 · 0 评论 -
数据结构与算法(二)- 稀疏数组
数据结构与算法(二)- 稀疏数组 当一个数组中大部分元素为同一个值时,可以使用稀疏数组来保存该数组。 中心思想: 记录数组一共有几行几列,有多少个不同的值。 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。 稀疏数组的第一行分别是二维数组的行数,列数,及有效数据的个数 创建二维数组 /** * 创建一个原始的二维数组11*11 * 0:表示没有棋子 1:表示黑子 2:表示白子 */ in原创 2021-08-05 17:12:56 · 111 阅读 · 0 评论 -
数据结构与算法(一)- 简介
数据结构与算法(一)- 简介 数据结构包括:线性结构和非线性结构 线性结构 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的 链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息 线性结构常见的有:数组、队列、链表和栈 非线性结构 非线性结构包括:二维数据,多维数据,广义表,树结构,图结构 ...原创 2021-08-05 17:07:19 · 65 阅读 · 0 评论