自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【AI机器学习与知识图谱】的博客

定期发布知识图谱,自然语言处理、机器学习、深度学习、深度学习框架TensorFlow、Python实战的小知识

  • 博客(5)
  • 收藏
  • 关注

原创 DFS应用(拓扑排序和强连通分支)

本文将用实例分析DFS搜索算法的两大应用:1、运用深度优先搜索,对一个有向无回路图DAG进行拓扑排序; 2、运用深度优先搜索,将一个有向图分解为各强连通分支。一、拓扑排序首先拓扑排序是针对有向无回路图来说的,反之,如果图中有回路,就不可能存在这样的线性序列。 Topological-Sort算法可以产生一个有向无回路图G的拓扑序列。1、Topological-Sort算法实现思路:<1>调用DFS

2017-04-12 21:45:31 2359

原创 图的BFS和DFS原理及实例分析(java)

BFS和DFS是图的两种遍历方式,是最简单的图搜索算法。本文将给出给出BFS和DFS的以下几种实现方式: 1、使用队列Queue实现图的BFS遍历 2、递归实现图的DFS遍历 3、使用栈Stack迭代实现图的DFS遍历一、BFS(广度优先搜索算法)BFS算法之所以叫做广度优先搜索,是因为它始终将已发现的顶点和未发现的之间的边界,沿其广度方向向外扩展。亦即,算法首先会发现和s距离为k的所有顶点,

2017-04-06 11:27:06 9955 1

原创 Prim算法实现最小生成树MST(java)

Prim算法是另一种生成图的最小生成树的算法,这里简单说一下Prim算法和Kruskal算法的在实现方面的区别:1、Kruskal算法在生成最小生成树的过程中产生的是森林,Prim算法在执行过程中始终都是一棵树;2、Kruskal和Prim实现上的最大区别是Kruskal不需要搜索每个顶点的邻接节点,而Prim中需要,所以Prim图构建时需要利用邻接链表进行构建,Kruskal不用!上面第二点边提出

2017-04-06 09:25:59 11499 1

原创 Kruskal算法实现最小生成树MST(java)

Kruskal算法用于生成图的最小生成树MST,不多说下面直接进入主题!一、实现Kruskal算法需要会的数据结构知识1、最小堆:包括最小堆的初始化、插入和删除操作 最小堆的作用:每次从边的集合中选出权重最小的边,将其加入到MST中(当然此边当和MST中的元素构成环时不满足)2、等价类(并查集) 并查集的作用:便是判断加入到MST中的边是否会构成环3、EdgeNode类 在Kruskal算法中

2017-04-05 21:54:55 6974

原创 java图的邻接表实现两种方式及实例应用分析

本篇博客来谈一谈图的邻接表实现的两种方式,首先我们明确一点“学会图的邻接表实现的关键点在于“:你所建立的图的邻接表的对象是什么!首先我们看一下《算法导论》中关于图的邻接表的定义:图G=(V,E)的邻接表表示有一个包含 |V| 个列表的数组Adj所组成,其中每个列表对应于V中的一个顶点,对于每一个u∈V,邻接表Adj[u]包含所有满足条件(u,v)∈E的顶点v,亦即,Adj[u]包含图G中所有和顶点u

2017-04-05 20:26:11 17941 10

空空如也

空空如也

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

TA关注的人

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