![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
知道越多,知道越少
正在学习java开发,努力中
展开
-
图
图介绍原创 2021-02-18 08:32:33 · 68 阅读 · 0 评论 -
树
树结构-基础部分介绍:数组的特点总结一句话就是:查快增慢插播:ArrayList源码分析通过名字我们就可以发现其实是数组集合,首先有两种构造器,两种容器都是创建一个数组,只不过一个长度为0,一个长度为,这是在jdk8中的情况,jdk7种elementdata默认的是10,当我们再次添加的时候,首先有个判断,也就是grow方法,如果需要扩容就扩容到十倍,如果没有添加过一次数组那就先设置elementdata为10。链表特点一句话:增快查慢而树这种存储结构可以帮我们解决这些问题,他是 查快增快原创 2021-01-24 11:22:48 · 100 阅读 · 0 评论 -
哈希表(散列表)
哈希表(散列表)例子:基本介绍思路:public class HashTable { public static void main(String[] args) { HashTab hashTab = new HashTab(10); hashTab.add(new Emp(1,"1")); hashTab.add(new Emp(11,"11")); hashTab.add(new Emp(13,"13"));原创 2021-01-23 11:30:05 · 77 阅读 · 1 评论 -
四种查找算法
四种查找算法顺序/线性查找概念和思路加代码:折半查找/二分查找概念:例子:思路:代码实现:public class DoubleBreakSearch { public static void main(String[] args) { int[] arr={1,3,5,7,8,10,15,46,15}; doubleBreakSearch(arr,3,0,arr.length-1); } public static voi原创 2021-01-22 12:28:13 · 2558 阅读 · 3 评论 -
八大排序算法
排序算法简介时间复杂度时间频度可以理解为代码执行的次数常见的时间复杂度这里可以理解为2的十次方为1024,循环十次就可以了,理解为跳着跑一般++的,时间复杂度就是n,然后*的就是log,很好区分算法的平均时间复杂度...原创 2021-01-16 11:34:26 · 246 阅读 · 0 评论 -
递归-八皇后问题(回溯算法)
递归-八皇后问题思路分析判断是否在同一个斜线上Math.abs()是求绝对值的意思代码实现:package datastructres.recursion;/** * @author :Yan Guang * @date :Created in 2021/1/16 10:04 * @description: */public class Queue8 { int max=8; int[] arr=new int[max]; static int coun原创 2021-01-16 10:31:17 · 148 阅读 · 2 评论 -
递归-迷宫问题(递归回溯算法)
递归简介小案例原创 2021-01-15 11:03:33 · 617 阅读 · 1 评论 -
中缀表达式转后缀表达式
中缀表达式转后缀表达式思路因为我们单独操作字符串不太好操作,所以先存放到一个ArrayList集合里面去,用如下的方法转: //将中缀表达式存放到list里面去 public static List<String> toInfixExpression(String s) { ArrayList<String> list = new ArrayList<>(); int index = 0; String原创 2021-01-12 11:25:14 · 102 阅读 · 0 评论 -
栈-逆波兰计算器(后缀表达式)
前缀表达式思路前缀表达式也叫波兰表达式后缀表达式也叫逆波兰表达式下面完成该项任务~原创 2021-01-11 13:43:32 · 80 阅读 · 0 评论 -
栈-实现综合计算器(中缀表达式)
综合计算器怎么搞?思路Demo1package datastructres.stack;/** * @author :Yan Guang * @date :Created in 2021/1/11 9:41 * @description: */public class Calculator { public static void main(String[] args) { String expression = "3+2*6-2"; Array原创 2021-01-11 10:49:32 · 82 阅读 · 1 评论 -
栈-用单链表实现
话不多说,直接上代码~package datastructres.stack;import java.util.Scanner;/** * @author :Yan Guang * @date :Created in 2021/1/10 11:45 * @description: */public class LinkListStackDemo { public static void main(String[] args) { LinkListStack sta原创 2021-01-10 12:15:50 · 95 阅读 · 0 评论 -
数组和链表优缺点怎么搞?
数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。链表中各结点在内存中的存放位置是任意的。链表与数组的主要区别(1)数组的元素个数是固定的,而组成链表的结点个数可按需要增减;(2)数组元素的存诸单元在数组定义时分配,链表结点的存储单元在程序执行时动态向系统申请:(3)数组中的元素顺序关系由元素在数组中的位置(即下标)确定,链表中的结点顺序关系由结点所包含的指针来体现。(4)对于不是固定长度的列表,用可能最大长度的数组来描述,会浪费许多内存空间。(5)对于元素的插原创 2021-01-10 11:40:30 · 174 阅读 · 0 评论 -
栈-用数组构建
思路如下~下面直接上代码实操~package datastructres.stack;import com.sun.org.apache.bcel.internal.generic.NEW;import java.util.Scanner;/** * @author :Yan Guang * @date :Created in 2021/1/10 11:01 * @description: 数组表示栈 */public class ArrayStackDemo { pu原创 2021-01-10 11:36:51 · 180 阅读 · 0 评论 -
单向环形链表
丢手帕问题(约瑟夫问题)原创 2021-01-09 19:30:35 · 66 阅读 · 0 评论 -
双链表
思路如下:话不多说,直接上代码~package datastructres.linkedlist;/** * @author :Yan Guang * @date :Created in 2021/1/9 10:21 * @description: */public class DoubleLinkListDemo { public static void main(String[] args) { System.out.println("双向链表的测试~");原创 2021-01-09 11:50:20 · 146 阅读 · 2 评论 -
单链表
单链表:带head头结点:直接插入链表尾部的方式:/** * @author :Yan Guang * @date :Created in 2021/1/7 10:03 * @description: 单链表 通过对象里面的属性,自己套自己 */public class SingleLinkedList { public static void main(String[] args) { HeroNode hero1 = new HeroNode(1, "宋原创 2021-01-07 19:32:07 · 92 阅读 · 0 评论 -
队列-简单数组与环形数组来实现
队列:数组队列(一次性存取,因为指针上移之后就没有下移过了):class ArrayQueue{ private int maxSize; private int front; private int rear; private int[] arr; public ArrayQueue(int arrMaxSize){ maxSize=arrMaxSize; front=-1; rear=-1;原创 2021-01-05 16:51:09 · 133 阅读 · 0 评论 -
稀疏数组
稀疏数组代码实现:package datastructres.sparsearray;public class SparseArray { public static void main(String[] args) { int chessArr1[][] = new int[11][11]; chessArr1[1][2]=1; chessArr1[2][3]=2; chessArr1[4][5]=2;原创 2021-01-05 12:28:08 · 96 阅读 · 0 评论