数据结构算法(韩顺平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 · 171 阅读 · 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 · 190 阅读 · 1 评论 -
3-数据结构数组实现队列思路和java代码实现
尚硅谷韩顺平Java数据结构与算法队列队列使用场景排队队列基本介绍队列是一个有序列表,可以使用数组或链表来实现遵循先进先出的原则数组实现队列总体思路队列本身是有序数列,定义变量maxSize记录队列最大容量队列的输出输入分别是由前后端来处理的,因此需要定义变量front和rear来记录前后端的下标,front会随着数据的输出而变化,rear会随着数据的输入而变化。添加数据方法思路定义方法addQueue(value);判断队列是否满 rear == .原创 2020-07-28 14:12:35 · 203 阅读 · 0 评论 -
2-数据结构稀疏数组存储方式和代码实现
视频课程: 尚硅谷韩顺平Java数据结构与算法稀疏数组(sparsearray)稀疏数组问题引入五子棋程序中,存盘退出和继续上盘的功能存在问题:将棋盘映射成一个二维数组后,数组中的许多值是0;数组中记录了许多没有意义的数据。稀疏数组基本介绍当一个数组中的大部分元素为0,或者为同一个值的数组,可以使用稀疏数组来保存该数组稀疏数组的列固定为3列(行,列,值)稀疏数组的存储方法稀疏数组第一行记录原数组一共有几行几列,有多少个不同的值。稀疏数组其他行记录原数组中有意义值的行.原创 2020-07-25 17:05:55 · 274 阅读 · 0 评论 -
1-数据结构与算法概述
视频课程: 尚硅谷韩顺平Java数据结构与算法数据结构和算法的关系数据结构是一门研究组织数据方式的学科程序 = 数据结构+算法数据结构是算法的基础,想要学好算法必须学好数据结构线性结构和非线性结构线性结构线性结构作为最常用的数据结构;其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构;即顺序存储结构和链式存储结构。顺序存储结构称为顺序表,顺序表中的存储元素是连续的。链式存储结构称为链表,链表中的存储元素不一定连续,元素节点中存储数据元素,以及相邻元素的地址.原创 2020-07-25 16:55:51 · 127 阅读 · 0 评论