![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构算法(韩顺平Java版)
数据结构算法笔记;同步课程为 尚硅谷韩顺平Java版数据结构与算法 B站链接https://www.bilibili.com/video/BV1E4411H73v
zxwin
这个作者很懒,什么都没留下…
展开
-
5-数据结构单链表分析与java代码实现(腾讯、新浪面试题)
尚硅谷韩顺平Java数据结构与算法 链表(Linked List) 链表介绍和内存存储 链表是有序的列表;内存中存储不一定连续 链表是以节点方式来存储数据,链式存储 每个节点包括data域,next域 链表分带头节点的链表和不带头节点的链表,根据实际的需求来确定 单链表 单链表逻辑示意图 单链表添加方法实现 获取尾节点 定义tail节点指向尾节点 通过遍历列表获取尾节点 将要插入的节点next复制为null(默认为null,可以不赋值) 将尾节点的next域指向要插入的节点 .原创 2020-07-29 17:12:58 · 173 阅读 · 0 评论 -
4-数据结构数组实现环形队列思路和java代码实现
尚硅谷韩顺平Java数据结构与算法 数组模拟环形队列 思路分析 front变量的含义调整:front指向队列的第一个元素,queue[front]就是队列的第一个元素,front的初始值=0; rear变量的含义调整:rear指向队列的最后一个元素的后一个位置,空出一个约定空间,rear初始值=0; 当队列满时,条件(rear+1) % maxSize == front; 当队列为空时,条件 rear == front; 获取队列中有效的数据个数 (rear+maxSize-front)%maxSize原创 2020-07-28 14:16:47 · 193 阅读 · 1 评论 -
3-数据结构数组实现队列思路和java代码实现
尚硅谷韩顺平Java数据结构与算法 队列 队列使用场景 排队 队列基本介绍 队列是一个有序列表,可以使用数组或链表来实现 遵循先进先出的原则 数组实现队列 总体思路 队列本身是有序数列,定义变量maxSize记录队列最大容量 队列的输出输入分别是由前后端来处理的,因此需要定义变量front和rear来记录前后端的下标,front会随着数据的输出而变化,rear会随着数据的输入而变化。 添加数据方法思路 定义方法addQueue(value); 判断队列是否满 rear == .原创 2020-07-28 14:12:35 · 204 阅读 · 0 评论 -
2-数据结构稀疏数组存储方式和代码实现
视频课程: 尚硅谷韩顺平Java数据结构与算法 稀疏数组(sparsearray) 稀疏数组问题引入 五子棋程序中,存盘退出和继续上盘的功能 存在问题:将棋盘映射成一个二维数组后,数组中的许多值是0;数组中记录了许多没有意义的数据。 稀疏数组基本介绍 当一个数组中的大部分元素为0,或者为同一个值的数组,可以使用稀疏数组来保存该数组 稀疏数组的列固定为3列(行,列,值) 稀疏数组的存储方法 稀疏数组第一行记录原数组一共有几行几列,有多少个不同的值。 稀疏数组其他行记录原数组中有意义值的行.原创 2020-07-25 17:05:55 · 275 阅读 · 0 评论 -
1-数据结构与算法概述
视频课程: 尚硅谷韩顺平Java数据结构与算法 数据结构和算法的关系 数据结构是一门研究组织数据方式的学科 程序 = 数据结构+算法 数据结构是算法的基础,想要学好算法必须学好数据结构 线性结构和非线性结构 线性结构 线性结构作为最常用的数据结构;其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同的存储结构;即顺序存储结构和链式存储结构。 顺序存储结构称为顺序表,顺序表中的存储元素是连续的。 链式存储结构称为链表,链表中的存储元素不一定连续,元素节点中存储数据元素,以及相邻元素的地址.原创 2020-07-25 16:55:51 · 129 阅读 · 0 评论