- 博客(27)
- 收藏
- 关注
原创 图的最短路径算法-迪杰斯特拉(Dijkstra)算法与弗洛伊德(Frolyd)算法
最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。最短路径不一定是经过边最少的路径,但在这些最短路径中,长度最短的那一条路径上只有一条边,且它的权值在从源点出发的所有边的权值最小。本文介绍了经典的Dijkstra迪杰斯特拉算法和Frolyd弗洛伊德算法。
2024-10-29 22:24:16 889
原创 图的最小生成树算法--普里姆(Prim)算法和克鲁斯克尔(Kruskal)算法-Java实现
最小生成树(Minimum spanning tree,MST)是最小权重生成树(Minimum weight spanning tree)的简称,是一个连通加权无向图中一棵权值最小的生成树。包括普里姆(Prim)算法和克鲁斯克尔(Kruskal)算法。本文详细讲解并用Java程序实现了这两种算法。
2024-10-19 00:30:54 1132
原创 图论与深度优先搜索、广度优先搜索算法(Java语言实现)
本文介绍了数据结构与算法中的图,通过图的概念与定义引入此数据结构的性质。并介绍了图的邻接表、邻接矩阵、十字链表以及邻接多重表四种存储方式。同时介绍了图的两种遍历方式,即深度优先搜索算法(Deep First Search)和广度优先搜索算法(Breadth First Search)。
2024-10-16 22:58:50 796
原创 二叉平衡树(AVL树)Java语言实现
将A的左孩子B向右上旋转代替A成为根结点,将A结点向右下旋转成为B的右子树的根结点,而B的原右子树则作为A结点的左子树。将A的右孩子B向左上旋转代替A成为根结点,将A结点向左下旋转成为B的左子树的根结点,而B的原左子树则作为A结点的右子树。先将A结点的左孩子B的右子树的根结点C向左上旋转提升到B结点的位置,然后再把该C结点向右上旋转提升到A结点的位置。先将A结点的右孩子B的左子树的根结点C向右上旋转提升到B结点的位置,然后再把该C结点向左上旋转提升到A结点的位置。)时间,因为AVL树总是保持平衡的。
2024-10-14 22:25:09 842
原创 二叉查找树(Binary Search Tree)Java语言实现
二叉查找树(Binary Search Tree),也称为二叉搜索树、有序二叉树(Ordered Binary Tree)或排序二叉树(Sorted Binary Tree)。
2024-10-14 22:24:50 855
原创 十大排序算法(Java实现)
排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法是《数据结构与算法》中最基本的算法之一。八大排序算法指的是《数据结构与算法》中介绍的冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、基数排序,十大排序则是在此基础上加上计数排序和桶排序。
2024-08-01 00:42:53 168
原创 密度峰值聚类(DPC)算法(Python3实现)
密度峰值聚类(Density peaks clustering, DPC)算法是由Rodriguez和Laio于2014年提出的一种聚类分析算法。其原始文献名是在在 Science上发表的,论文名称为“Clustering by Fast Search and Find of Density Peaks”。这种聚类方法该算法是一种基于密度的聚类算法,可以自动确定聚类中心和聚类的数量并适用于处理各种形状和分布的数据集。
2024-04-27 16:11:04 3470 2
原创 DBSCAB算法介绍(Python3实现)
基于密度的空间聚类的应用(Density-based spatial clustering of applications with noise,DBSCAN)算法是由Martin Ester, Hans-Peter Kriegel, Jörg Sander和Xiaowei Xu于1996年提出的一种聚类分析算法。
2024-04-26 13:28:25 2068 1
原创 Hadoop环境搭建(离线部署CDH版本)
相比于传统Hadoop繁琐的配置文件与版本管理,CDH提供了一个可以在线搭建Hadoop等组件的集群的系统。只需要现在本地配置好jdk等环境并安装好CM Server和CM Agent服务即可在UI界面控制集群。
2024-01-29 12:07:33 1680
原创 树与二叉树(Java语言实现)
树(Tree)是一种抽象数据类型(Abstract Data Type,ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。
2023-07-26 15:49:32 704 1
原创 git上传代码步骤
平常使用git将代码上传到github或gitee时总是记不清上传的bash命令,所以写了此文记录一个项目上传到git的过程。
2023-07-13 09:41:30 5663 1
原创 模糊C均值聚类(Fuzzy C-means,FCM)算法(Python3实现)
L.A.Zadeh在1965年最早提出模糊集理论,在该理论中,针对传统的硬聚类算法其隶属度值非0即1的严格隶属关系,使用模糊集合理论,将原隶属度扩展为 0 到 1 之间的任意值,一个样本可以以不同的隶属度属于不同的簇集,从而极大提高了聚类算法对现实数据集的处理能力,由此模糊聚类出现在人们的视野。FCM算法广泛应用在数据挖掘、机器学习和计算机视觉与图像处理等方向。
2023-05-15 16:59:33 31647 29
原创 Hadoop生态系统环境搭建(Hadoop全分布式、Zookeeper集群、Mysql、Hive集群、Hbase集群、Redis集群、ElasticSearch集群)
Hadoop集群搭建,四台主机。安装了JDK、Hadoop、MySQL、Hive、Hbase、Redis、ElasticSearch、CDH。文章包含详细安装启动命令以及Web的UI界面
2022-10-17 22:04:39 3399
原创 【Java学习总结】注解与反射
一、注解(Annotation)1.概述注解(Annotation)是JDK5.0开始引用的新技术。目前大部分框架都在使用注解来简化代码。注解不同于注释,它不仅可以被人看到,同时也可以被程序所读取。注解相当于给程序添加了额外的辅助信息。注解可以使用在package ,class , method , field 等上面。2.内置注解是作用在代码的注解,定义在 java.lang 中。@Override:表示方法是重写父类的方法。@Deprecated:表示该方法已过时,不建议
2021-11-02 11:35:54 256
原创 【Java学习总结】多线程
一、线程简介1.什么是进程:进程是程序的运行过程,是系统进行资源分配和调度的一个独立单位。通俗来讲,进程就是在操作系统中运行的程序,例如:电脑中运行的微信、eclipse、idea等。2.什么是线程线程是操作系统能够进行运算调度的最小单位。一个进程至少有一个线程,一个程序可以有多个线程。3.多线程如果一个程序可以同时运行多个线程,那么这个程序就是多线程的。例如看视频时程序同时进行加载图像、获取字幕和获取弹幕等。二、线程的创建1.继承Thread类步骤:(1)创建线程类,并继承Thread
2021-10-16 21:41:26 241 1
博客中聚类算法(K-means、FCM、DBSCAN、DPC)的数据集(免积分)
2023-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人