摘要: Dijkstra算法是一种单源最短路径搜索算法。算法步骤:开始的结构我们称为初始节点。Y距离为Y点到初始节点的距离。Dijkstra算法会给定Y距离的初始值。并且一步步的优化他1.给定每个节点一个不可靠的值(需要被跟新的。或者可能被跟新的),初始节点为0.其他节点为无穷大。2.设置一个数组标志每个节点不可见(除了初始节点)。设置初始节点为当前节点。3.考虑当前节点的所有不可见邻节点、并且计算它们的实验值。如果当前节点标志的距离是6,并且有一邻节点B的距离是2,所以距离B(通过A)就是6+2=8.如果这个值小于以前记录的不可靠数值。那么就更新他。4.当我们考虑了所有该节点的邻节点后。设置当前节点 阅读全文
posted @ 2013-09-16 14:32 独立寒风 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 在计算机科学领域。AC字符串匹配算法是由Alfred V. Aho和Margaret J. Corasick发明的字符串搜索算法。该算法应用有限自动机巧妙地将字符比较转化为了状态转移。此算法有两个特点,一个是扫描文本时完全不需要回溯,另一个是时间复杂度为O(n),时间复杂度与关键字的数目和长度无关。直接实例分析吧。哈哈。子字符串{a, ab, bc, bca, c, caa}建立状态机,哈哈。怎么建立。根据子字符串建立啊。白色为已经匹配到子字符串了。该输出了。so。第一个节点是root节点。分析输入串abccab节点剩余字符串输出:结束位置变迁输出()abccab从root开始(a)bccab 阅读全文
posted @ 2013-09-12 10:21 独立寒风 阅读(513) 评论(0) 推荐(0) 编辑