上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(All Paris Shortest Paths,APSP)的算法。从表面上粗看,Floyd算法是一个非常简单的三重循环,而且纯粹的Floyd算法的循环体内的语句也十分简洁。我认为,正是由于“Floyd算法是一种 阅读全文
posted @ 2020-11-06 09:20 tianli3151 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 今天来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径。 与Floyd-Warshall算法一样这里仍然使用二维数组e来存储顶点之间边的关系,初始值如下。 我们还需要用一个一维数组dis来存储1号顶点到其余各个顶点的初 阅读全文
posted @ 2020-11-06 09:19 tianli3151 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 所谓K短路,就是从s到t的第K短的路,第1短就是最短路。 如何求第K短呢?有一种简单的方法是广度优先搜索,记录t出队列的次数,当t第k次出队列时,就是第k短路了。但点数过大时,入队列的节点过多,时间和空间复杂度都较高。 A*是在搜索中常用的优化,一种启发式搜索。简单的说,它可以用公式表示为f(n) 阅读全文
posted @ 2020-11-05 13:38 tianli3151 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 复制这段内容后打开百度网盘App,操作更方便哦。 链接:https://pan.baidu.com/s/1-y5urU1SckbbOyPZARcLdA 提取码:l235 阅读全文
posted @ 2020-11-05 13:32 tianli3151 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 一.算法简介 SPFA(Shortest Path Faster Algorithm)算法是求单源最短路径的一种算法,它是Bellman-ford的队列优化,它是一种十分高效的最短路算法。 很多时候,给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的 阅读全文
posted @ 2020-11-05 13:29 tianli3151 阅读(137) 评论(0) 推荐(0) 编辑
摘要: (1)字典树(Trie树) Trie是个简单但实用的数据结构,通常用于实现字典查询。我们做即时响应用户输入的AJAX搜索框时,就是Trie开始。本质上,Trie是一颗存储多个字符串的树。相邻节点间的边代表一个字符,这样树的每条分支代表一则子串,而树的叶节点则代表完整的字符串。和普通树不同的地方是,相 阅读全文
posted @ 2020-11-05 13:13 tianli3151 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 为什么学后缀数组 后缀数组是一个比较强大的处理字符串的算法,是有关字符串的基础算法,所以必须掌握。 学会后缀自动机(SAM)就不用学后缀数组(SA)了?不,虽然SAM看起来更为强大和全面,但是有些SAM解决不了的问题能被SA解决,只掌握SAM是远远不够的。 …… 有什么SAM做不了的例子? 比如果求 阅读全文
posted @ 2020-11-05 13:10 tianli3151 阅读(121) 评论(0) 推荐(0) 编辑
摘要: AC自动机简介: 首先简要介绍一下AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有字典树Trie和KMP 阅读全文
posted @ 2020-11-05 13:05 tianli3151 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 简介 kd树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。 一个KDTree的例子 上图的树就是一棵KDTree,形似二叉搜索树,其实KDTree就是二叉搜索树的变种。这里的K = 3. 首先来看下树的组织原则 阅读全文
posted @ 2020-11-05 13:03 tianli3151 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 1.1可并堆的定义 可并堆(Mergeable Heap)也是一种抽象数据类型,它除了支持优先队列的三个基本操作(Insert, Minimum, Delete-Min),还支持一个额外的操作——合并操作: H ← Merge(H1,H2) Merge( ) 构造并返回一个包含H1和H2所有元素的新 阅读全文
posted @ 2020-11-05 13:02 tianli3151 阅读(204) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页