数据结构和算法
奔走中的蜗牛
专注于数据结构、集群与分布式、微服务组件、JVM、设计模式、中间件、数据库、各种命令的学习及各种Java学习资源、工具和面试题的分享。
展开
-
图解&代码实现:单向链表的创建(直接添加到链表的尾部,不考虑排序)
链表的基本介绍链表是有序列表,链表的英文是LinkedList链表的特点:链表是以结点方式来存储的,链表是链式存储链表中的每个结点都分data域和next域data域 : 用来存放数据next域:用来指向下一个结点下面展示的是 链表再内存中的实际结构的布局图:链表的各个结点不一定是连续存储的链表分为带头结点的链表和不带头结点的链表,具体要不要带头结点,根据自...原创 2019-12-16 12:16:24 · 475 阅读 · 0 评论 -
图解&代码实现:数组模拟实现环形队列
数组模拟实现环形队列实现:让数组达到复用的效果,即:当我们从数组队列中取出了数据,那取出数据后后这个空间可以再次使用数组秒实现环形队列的思路分析当rear指针指向maxsize - 1时,也就是当rear = maxsize - 1 时,需要判断rear的前面是否有空闲空间,也就是说front是否产生了变化并且已经不在初始的那个位置了思路如下:front的含义做调整 :front...原创 2019-12-10 17:56:50 · 3943 阅读 · 4 评论 -
数组模拟实现队列(Java语言描述)
队列的实例:电影院购票、排队打饭、去麦当劳买吃的,银行排队叫号等等这些场合都需要排队,生活中的各种排队现象就展示了队列的实例队列的介绍:队列是个有序列表队列的实现方式:数组链表注意:若使用数组来模拟实现队列,就是顺序存储,若使用链表来实现队列,就是链式存储。队列的重要原则(或者叫做特点):先入先出(FIFO) ,也就是说谁先进入到队列谁就会先被调出去。即:先存入队列的数据要先取出...原创 2019-12-07 17:44:18 · 469 阅读 · 1 评论 -
数据结构和算法基本概述
数据结构和算法概述数据结构和算法的关系:数据结构是一门研究数据以什么方式进行组织。学好数据结构并不一定就学的好算法。要学好算法必须先学数据结构,数据结构是算法的基础。例如,学好了数组不一定学得会归并排序算法。程序 = 算法 + 数据结构数据结构包括线性结构和非线性结构线性结构有两种不同的存储方式:顺序存储方法链式存储方式线性结构是最常用的一种,特点:数据元素之间存在一对一关系...原创 2019-12-04 20:00:21 · 248 阅读 · 0 评论 -
图解和代码实现稀疏数组&二维数组相互转换
稀疏数组需求:编写五子棋程序,实现存盘退出和续上盘的功能棋盘是一个11行111列的棋盘,棋盘中有一个黑棋子和一颗蓝棋子要求:保留已有的棋盘思路:将棋盘用二维数组记录下来,0表示没棋子,1表示黑子,2表示蓝子,形成如下图的二维数组,详情看图画图分析:问题:如何将这个棋盘从二维数组转为稀疏数组?答:因为该二维数组有很多元素值都为0,因为记录了很多没意义的元素,此时就可以使用稀疏数组对二...原创 2019-12-04 19:53:17 · 416 阅读 · 0 评论