自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最小生成树Kruskal算法-java实现(使用并查集结构)

最小生成树Kruskal算法-java实现(使用并查集结构)克鲁斯卡尔算法百度到的解释是:克鲁斯卡尔算法是一种用来寻找最小生成树的算法。在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次小边。1.将图的所有连接线去掉,只剩顶点2.从图的边集数组中找到权值最小的边,将边的两个顶点连接起来3.继续寻找权值最小的边,将两个顶点之间连接起来,如果选择的边使得最小生成树...

2019-05-06 17:29:50 1416

原创 最小生成树Prim算法-使用java的优先级队列实现

最小生成树: 一个具有n个顶点的加权的无相连通图,用n-1条边连接这n个顶点,并且使得连接之后的所有边的权值之和最小的树。== Prim算法:先以一个结点作为最小生成树的第一个结点,然后以迭代的方式找出与最小生成树中各结点权值最小边,加到最小生成树中。加入之后如果产生回路则跳过这条边,选择下一个结点。当所有结点都加入到最小生成树中之后,就找出最小生成树了。==举个例子代码如下:impo...

2019-05-06 17:21:29 997

原创 拓扑排序—java语言实现

拓扑排序是针对有向无圈图的顶点的一种排序,使得如果存在一条从A到B的路径,那么在排序中A必定在B的前面。拓扑排序的应用场景很好理解,比如在内存中运行着很多任务,某个任务A的执行依赖于另外一个任务B,那么在A执行完之前,B一定不能被清理。而另外一些任务是没有关联的,如何来安排这些任务被清理的顺序就需要依赖拓扑排序。一个简单的拓扑排序的方案(Kahn算法)是:先找出任意一个没有入边的顶点,然后打印...

2019-05-06 17:09:50 2028

原创 用栈和队列实现BFS和DFS算法

用栈和队列实现BFS和DFS算法1.BFS(宽度优先遍历)1、从顶点v出发遍历图G的算法描述如下:①访问V0②假设最近一层的访问顶点依次为v1v2v3vk则依次访问v1,v2,v3…vk的未被访问的邻接点③重复②知道没有未被访问的邻接点为止2、心得:bfs算法其实就是一种层次遍历算法。从算法描述可以看到该算法要用到队列这一数据结构。Set集合的作用是用来判断当前节点是不是已经访问过,...

2019-05-06 17:02:56 5073 2

原创 用栈和队列结构实现图的相关算法(BFS、DFS、最小生成数等)

用栈和队列结构实现图的相关算法1.图的节点基本结构定义图的基本结点类型,每个节点包括四个属性: in代表当前节点的入度 out 代表当前节点的出度 nexts存储的是当前结点指向的结点的集合 edge存储的是当前节点的邻接边的集合import java.util.ArrayList;public class Node { public int ...

2019-05-06 16:49:41 448

原创 二叉树的非递归遍历-java实现

二叉树的先序,中序,和后续遍历,采用非递归的形式一、先序遍历:(自己做一个栈)压入根节点,再从栈顶弹出如果弹出的节点的右孩子不为空,就先把右孩子压栈,左孩子不为空,就把左孩子后压栈 //非递归实现先序遍历public static void preOrderUnRecur(Node head) { System.out.print("pre-order: "); if (he...

2019-04-25 16:18:17 339

空空如也

空空如也

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

TA关注的人

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