数据结构与算法
文章平均质量分 68
一些学习笔记
梦落繁辞
一名软件工程的本科生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最短路径问题 java实现
适用于没有负权边的图,它以贪心的方式逐步确定从起始顶点到其他顶点的最短路径。算法的核心思想是每次选择当前最短路径的顶点,更新其相邻顶点的最短路径。这是一个实现Dijkstra算法的Java程序,用于求有向图的最短路径。原创 2024-03-10 16:41:47 · 349 阅读 · 0 评论 -
最小生成树 java实现
最小生成树(Minimum Spanning Tree,简称MST)是一个图论问题,目标是在一个带权重的连通图中找到一个树,使得所有边的权重之和最小,且该树包含图中的所有节点。将图中的所有边按照权值从小到大排序,并初始化一个空的边集合,表示最小生成树的边。从当前生成树的顶点集合到剩余顶点的边中选择权值最小的边。当所有顶点都加入生成树时,生成的边集合即为最小生成树的边集合。将选取的最小边的另一端顶点加入生成树的顶点集合。最终得到的边集合即为最小生成树的边集合。将选取的最小边加入生成树的边集合。原创 2024-03-10 03:32:11 · 414 阅读 · 0 评论 -
图的两种存储结构 邻接矩阵和邻接表 java实现
邻接矩阵是一种表示图的数据结构,通过二维数组来表示图中的顶点和边的关系。在邻接矩阵中,行和列分别代表图中的顶点,而矩阵中的元素表示顶点之间是否有边,以及边的权重(在带权图中)。原创 2024-03-08 01:13:08 · 1275 阅读 · 0 评论 -
蓝桥杯 烬寂海之迷 AC自动机 JAVA实现
问题描述:在烬寂海中居住着某种智慧生物。它们的文明发展程度相当于地球上的中世纪,但是它们拥有强大的科技与魔法。一天,王国的法师得到了一段古老的魔法咒文,咒文中似乎隐藏着巨大的能量,但是咒文中有很多相似的字符串片段,法师们相信达些片段与魔法的启动有关。现在,国王决定招募聪明的你,使用你的技术能力来帮助法师们解开这个谜团。现在给你一个字符串S(主串),还有若干个模式串P。你需要统计每一个模式串在主串中出现的次数。输入格式。原创 2024-03-04 20:18:08 · 524 阅读 · 2 评论 -
哈夫曼树和哈夫曼编码的java实现
主函数可以自己修改,是一些测试用的节点。原创 2024-03-02 18:00:41 · 511 阅读 · 0 评论 -
线索二叉树java实现
总体来说,这段代码展示了如何通过线索化实现中序遍历的效率提升。线索化的思想是在节点中添加线索,使其指向中序遍历时的前驱和后继节点,从而在遍历时不需要额外的递归或栈,提高了中序遍历的效率。类的设计是为了在构建线索二叉树时能够方便地存储节点的数据、左右子节点以及线索标记。线索标记用于标识左右子节点是指向实际的子节点,还是指向前驱或后继节点(线索)。)来表示节点的左右子节点是指向实际子节点还是线索,从而实现对二叉树的线索化和遍历。这个类的设计为实现线索二叉树提供了基础。这段代码实现了线索二叉树的构建和中序遍历。原创 2024-02-23 23:02:08 · 485 阅读 · 1 评论 -
KMP算法学习
由于编程语言不同以及对于next数组的定义不同,会导致学习kmp算法的过程中有很多疑惑,这篇文将讲述java语言实现kmp算法。学习KMP算法首先要了解的两个内容,一是kmp算法本身,二是next数组。原创 2024-02-06 03:04:26 · 439 阅读 · 1 评论
分享