39.(树、图、算法)(2).求一个有向连通图的割点,割点的定义是,如果除去此节点和与其相关的边,有向图不再连通,描述算法。思路:这里有个问题,对于图的连通性,我默认它要求强连通。采用了最简单的办法,即每次删掉一条边,判断图还是否连通。若变得不连通了就认为此点是割点。连通性的判断也采用了直觉上简单的...
分类:
其他好文 时间:
2014-09-25 10:47:48
阅读次数:
411
详细介绍:广度优先搜索算法八:Dijkstra算法戴克斯特拉算法(Dijkstra’s algorithm)是由荷兰计算机科学家艾兹赫尔·戴克斯特拉提出。迪科斯彻算法使用了广度优先搜索解决非负权有向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。...
分类:
其他好文 时间:
2014-09-25 00:18:07
阅读次数:
280
选择排序作者:上品物语知识点:原理示意图算法特点复杂度1.1 原理首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素,那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法叫做选择...
分类:
其他好文 时间:
2014-09-18 18:18:34
阅读次数:
239
最短路径算法也是常用的图算法,在网上看到了一份c的代码,写的很清楚,今天有空给写成java的了,就当练手了。另,算法导论362页详细介绍了Bellman-Ford算法,本来打算再写个Dijsktra算法的,可是今天比较赖,就写这一个算法吧。package path;import java.util....
分类:
Web程序 时间:
2014-09-10 15:28:40
阅读次数:
175
深度优先搜索算法(depth first search),是一个典型的图论算法。所遵循的搜索策略是尽可能“深”地去搜索一个图。算法思想是: 对于新发现的顶点v,如果它有以点v为起点的未探测的边,则沿此边继续探测下去。当顶点v的所有边都已被探寻结束,则回溯到到达点v的先辈节点。以相同方法一直回溯到源....
分类:
其他好文 时间:
2014-09-07 15:55:45
阅读次数:
208
networkx是python的一个第三方包,可以方便地调用各种图算法的计算。
通过调用python画图包matplotlib能实现图的可视化。
这里简单记录一些networkx的安装,使用。完整的networkx文档在官方页面时又较详细的记载...
分类:
编程语言 时间:
2014-08-24 16:46:22
阅读次数:
301
基本原理
冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
这样说还不是很明白,先看张图:
算法步骤:
1)比较相邻的...
分类:
编程语言 时间:
2014-08-20 16:27:12
阅读次数:
261
作者系阿里巴巴集团1688技术部普通码农
引言
周末看到一篇不错的文章“Graph Twiddling in a MapReduce
world” ,介绍MapReduce下一些图算法的实现。文章语言质朴,介绍很多实用图优化技巧。文章2009年发表,至今已经被引用183次,足以证明这篇文章价值。目前这篇文章网上已经有人对这篇文章做了介绍,但仅介绍了其中最简单的两个算法,对其中的所做优化,并...
分类:
其他好文 时间:
2014-08-18 23:36:03
阅读次数:
444