君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 107 下一页

2014年7月10日 #

摘要: 我们已经知道了如何通过Dijkstra算法在非负权图中找到最短路径。即使图中有负权边,我们也知道通过Bellman-Ford算法找到一个从 给定的源点到其它所有节点的最短路径。现在我们将看到一个在线性时间内运行得更快的算法,它可以在有向无环图中找到从一个给定的源点到其它所有可达顶点的 最短路径,又名... 阅读全文
posted @ 2014-07-10 23:47 刺猬的温驯 阅读(3102) 评论(0) 推荐(0)

摘要: 假设我们有一组任务要完成,并且有些任务要在其它任务完成之后才能开始,所以我们必须非常小心这些任务的执行顺序。如果这些任务的执行顺序足够简单的话,我们可以用链表来存储它们,这是一个很好的方案,让我们可以准确知道任务的执行顺序。问题是有时候不同任务之间的关系是非常复杂的,有些任务依赖于两个甚至更多的任务... 阅读全文
posted @ 2014-07-10 23:44 刺猬的温驯 阅读(556) 评论(0) 推荐(0)

2014年7月9日 #

摘要: 拓扑排序虽是一种排序,但是它跟平时所接触的sort或者qsort不同,排序的意义不同。拓扑排序针对有向无回路图(DAG)而言的,不应用与存在回路的有向图。【图论】广度优先搜索和深度优先搜索 有说到了BFS和DFS,拓扑排序是DFS的一个应用。有向无回路图能说明事件的发生的先后的顺序。比如穿衣服,士兵... 阅读全文
posted @ 2014-07-09 13:02 刺猬的温驯 阅读(391) 评论(0) 推荐(1)

摘要: 写在最前面的这篇文章并没有非常详细的算法证明过程。导论里面有非常详细的证明过程。本文只阐述“广度优先和深度优先搜索的思路以及一些简单应用”。两种图的遍历算法在其他图的算法当中都有应用,并且是基本的图论算法。广度优先搜索广度优先搜索(BFS),可以被形象的描述为“浅尝辄止”,具体一点就是每个顶点只访问... 阅读全文
posted @ 2014-07-09 13:01 刺猬的温驯 阅读(730) 评论(0) 推荐(0)

摘要: Prim算法1.概览普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(... 阅读全文
posted @ 2014-07-09 01:28 刺猬的温驯 阅读(515) 评论(0) 推荐(0)

摘要: Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论... 阅读全文
posted @ 2014-07-09 01:28 刺猬的温驯 阅读(547) 评论(0) 推荐(0)

摘要: 关于三个简单的图论算法prim,dijkstra和kruskal三个图论的算法,初学者容易将他们搞混,所以放在一起了。prim和kruskal是最小生成树(MST)的算法,dijkstra是单源最短路径的算法。prim最小生成树prim算法采用了贪心策略:把点分成两个集合,A为已被处理(已经在最小生... 阅读全文
posted @ 2014-07-09 00:53 刺猬的温驯 阅读(536) 评论(0) 推荐(0)

2014年7月7日 #

摘要: 假如你像用lucene来作分组,比如按类别分组,这种功能,好了你压力大了,lucene本身是不支持分组的。当你想要这个功能的时候,就可能会用到基于lucene的搜索引擎solr。不过也可以通过编码通过FieldCache和单字段,对索引进行分组,比如:想构造类别树。大类里面还有小类那种。这个功能实现... 阅读全文
posted @ 2014-07-07 22:00 刺猬的温驯 阅读(2203) 评论(0) 推荐(0)

2014年6月29日 #

摘要: 使用Lucene来搜索内容,搜索结果的显示顺序当然是比较重要的.Lucene中Build-in的几个排序定义在大多数情况下是不适合我们使用的.要适合自己的应用程序的场景,就只能自定义排序功能,本节我们就来看看在Lucene中如何实现自定义排序功能. Lucene中的自定义排序功能和Java集合中的... 阅读全文
posted @ 2014-06-29 02:34 刺猬的温驯 阅读(1668) 评论(0) 推荐(0)

2014年6月28日 #

摘要: 为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用... 阅读全文
posted @ 2014-06-28 22:12 刺猬的温驯 阅读(220) 评论(0) 推荐(0)

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 107 下一页