![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java数据结构与算法
本专栏讲解java的数据结构与算法
辰行
热爱编程,主攻java,研究复杂网络
展开
-
详解单链表
一、链表的介绍1.链表是以节点的方式来储存。2.每个节点包含data域,next域:指向下一个节点。3.链表的各个节点不一定是连续存储的。4.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定。二、单链表的使用1.使用带head头的单向列表实现-水浒英雄排行榜管理1⃣️完成对英雄人物的增删改查操作。2⃣️第一种方法在添加英雄时,直接添加到链表的尾部3⃣️第二种方式在添加...原创 2020-04-16 21:36:32 · 174 阅读 · 0 评论 -
详解队列
一、队列的介绍1.队列是一个有序列表,可以用数组或者链表来实现。2.遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。二、数组模拟队列1.因为队列的输出、输入分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的下标,front会随着数据输出而改变,而rear则是随着数据输入而改变。2.当我们将数据存入队列时称为“addQueue”,addQue...原创 2020-04-15 21:17:45 · 213 阅读 · 0 评论 -
详解稀疏数组
一、基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。1.稀疏数组的处理方法:1⃣️记录数组一共有几行几列,有多少个不同的值。2⃣️把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。二、稀疏数组的举例说明...原创 2020-04-15 13:23:15 · 133 阅读 · 0 评论 -
详解线性结构和非线性结构
一、线性结构1.线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。2.线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的。3.链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。4.线性结构常见的有:数组、队列、链表、和栈。二、非线性结构1.非线性结...原创 2020-04-15 08:24:40 · 7066 阅读 · 0 评论 -
1、几个面试题
1.有一个字符串str1="“223 123412 123412341245"”,和一个子串str2=“1234124”。现在要判断str1是否含有str2,如果存在,就返回第一次出现的位置,如果没有,则返回-1,要求用最快的速度来完成匹配,你的思路是什么?法一:暴力求解法二:KMP算法2.汉诺塔游戏法一:分治算法3.八皇后问题法一:回溯算法4.马踏棋盘算法法一:使用图的深度优化...原创 2020-04-13 23:06:11 · 76 阅读 · 0 评论