自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Java数据结构——图:最小生成树(普利姆算法Prim)

先介绍一下最小生成树(Minimum Cost Spanning Tree),简称 MST。给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树。普利姆(Prim)算法求最小生成树,也就是在包含 n 个顶点的连通图中,找出只有(n-1)条边包含所有 n 个顶点的连通子图,也就是所谓的极小连通子图。

2024-07-06 18:34:43 271

原创 Java数据结构——图:最小生成树(克鲁斯卡尔算法Kruskal)

上一步操作之后,边的权值最小,但会和已有的边构成回路;将边加入到最小生成树结果 R 中。上一步操作之后,边的权值最小,但会和已有的边构成回路;上一步操作之后,边的权值最小,因此将它加入到最小生成树结果 R 中。上一步操作之后,边的权值最小,因此将它加入到最小生成树结果 R 中。上一步操作之后,边的权值最小,因此将它加入到最小生成树结果 R 中。边的权值最小,因此将它加入到最小生成树结果 R 中。

2024-07-06 18:27:39 865

原创 Java数据结构——树:二叉树、顺序存储二叉树、线索化二叉树、堆排序、哈夫曼树、二叉排序树、平衡二叉树

堆排序可能是所有常见的排序中最难的一个,根据尚硅谷-韩顺平老师的讲解,对整套流程一直搞不懂,研究了一个晚上 思路理清了不少。本文按照韩顺平的代码,谈一谈整个堆排序的思路。堆排序是先把一个数组构建成一颗二叉树,这颗二叉树要求所有的非叶子节点都要比他的两个孩子节点大。所以,如果把一个数组构建成大顶堆的二叉树,那么根节点一定是这个数组中最大的值。// 为什么根节点是最大的呢?拿数组 {4,6,8,5,9,13,15,7,3} 举例。这个数组在未经过任何调整的情况下应该是如下图所示:从下到上、从左到右。

2024-07-05 18:31:01 603

原创 Java数据结构——串

【代码】Java数据结构——串。

2024-07-03 12:01:43 68

原创 Java数据结构——普通队列+环形队列

学习韩顺平老师讲的环形队列,有一个问题:由于isFull () 函数是rear+1,总会浪费一个存储单元。下面写了韩顺平老师的讲的方法,也有我自己的升级版(不会浪费存储单元)。队列的输入输出存在前后端,遵从先入先出的原则–>因此需要两个变量front及rear分别记录队列的前后端(front会随数据输出而改变;front永远在红色的格子下最近的灰色格子上;rear<=maxSize-1,当rear==maxSize-1【满】指针往后移动:rear+1,当front==rear【空】

2024-07-03 10:14:50 118

原创 Java数据结构——栈的初始化、判断栈空/满、进栈、出栈、获取栈顶元素、打印栈

【代码】Java数据结构——栈的初始化、判断栈空/满、进栈、出栈、获取栈顶元素、打印栈。

2024-07-02 19:11:50 116

原创 Java数据结构——单链表的初始化,建立,求表长,查找(按值查找、按序号查找),插入,删除,输出

【代码】Java数据结构——单链表的初始化,建立,求表长,查找(按值查找、按序号查找),插入,删除,输出。

2024-07-02 17:59:00 430

原创 Java 数据结构 —— 冒泡、选择、插入、希尔、快速、归并排序

排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入有序表中的适当位置,使之成为新的有序表。第 i 次:求出arr[i-1]~arr[n-1]中的最小值,然后将arr[i-1]与最小值进行切换;第n-1次:求出arr[n-2]~arr[n-1]中的最小值,然后将arr[-2]与最小值进行切换;第二次:求出arr[1]~arr[n-1]中的最小值,然后将arr[1]与最小值进行切换;冒泡排序就是从第一个元素开始,如果第一个元素比第二个元素大,交换第一个和第二个元素。

2024-06-30 19:19:04 395

原创 Java数据结构——图的广度优先BFS

就是尽可能一层一层找完,这一层找不到再找下一层。

2024-06-30 18:52:02 629

原创 Java数据结构——图的深度优先遍历DFS

根据上面的例子,描述一下遍历过程。

2024-06-30 11:16:03 315

原创 Java JDK环境调试,版本不匹配,提示Error: A JNI error has occurred, please check your installation and try again

参考:【JDK不同版本相互切换】https://www.bilibili.com/video/BV1GF411C7jB?vd_source=6fab38477fb17332a4653ae6511463a8(讲的很详细!在网上差了很久,该试的方法都试了,查看了版本号也一致,已知不知道问题出在哪里。之前安装的一直都是jdk 8,应该安装jdk17。今天cmd运行jar文件的时候,一直报错。往下一看,好像是jdk版本的问题。于是又到网上找怎么切换jdk版本。试了各种方法,终于搞好了。

2024-06-25 18:08:52 251

原创 笔记 | Java 数据结构——平衡二叉树(AVLTree)左旋转、右旋转、双旋转

如果一颗二叉排序树的左子树的高度明显大于右子树的高度,或者反过来,这对查询速度右很大的影响(插入速度无影响)。所以要对二叉排序树在插入的时候 当左子树的高度和右子树的高度相差大于1的时候进行旋转。

2024-06-16 17:58:40 609

原创 笔记 | Java 数据结构——二叉排序树(BST)添加节点

/循环添加节点i++){//中序遍历二叉树System.out.println("中序遍历二叉树~");//添加节点root=node;}else{//中序遍历if(root!=null){}else {System.out.println("二叉排序树为空,不能遍历");//构建节点int value;Node left;Node right;//构造方法//添加节点//如果要添加的这个节点是空的话,直接退出return;

2024-06-10 16:38:42 138

原创 笔记 | Java 数据结构——顺序存储二叉树遍历

--- 参考:韩顺平数据结构。

2024-06-08 17:13:03 116

原创 笔记 | Java 数据结构——二叉树查找节点(先序、中序、后序)

---参考:韩顺平数据结构。

2024-06-06 17:01:23 106

原创 笔记 | Java 数据结构——构建哈夫曼树(Huffman Tree)

就是构造一棵二叉树,使他的带权路径最小。

2024-06-06 15:22:49 145

原创 笔记 | Java 数据结构——归并排序

当没有给出merge()的时候,就是在不断地拆分,如果此时输出数组,还是【8,4,5,7,1,3,6,2】· 当给出了merge()的时候,首先把这个数组拆分成了【8,4 5,7,1,3,6,2】(意思就是只是把8,4拆分了,剩下的部分并没有拆分)这里需要注意一下,拆的时候我们想象成拆到8 4 5 7 1 3 6 2,但实际上真的如此吗?其实拆到8,4 5,7 1,3 6,2的时候,已经可以开始对8,4进行排序了(此时left=0,right=1,mid=0)

2024-04-14 15:27:10 270 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除