前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起 ...
分类:
编程语言 时间:
2016-08-16 10:30:13
阅读次数:
368
UVA 348 题意: 给出 N 个矩阵(A1,A2,...,An),求完全括号化方案,使得计算乘积(A1A2...An)所需乘法次数最少。并输出方案。 解题: 算法导论是个好东西 讲的很详细~ 假设矩阵 A 和 B 相乘,那 A 的列数必须要和 B 的行数相同,即 若 A 的行列数为(x,y),则 ...
分类:
其他好文 时间:
2016-08-14 22:19:06
阅读次数:
178
在刷LeetCode-1TwoSum的时候,有个人在论坛留言,大致意思如下: 我觉得这个人是不懂算法的。让我一步一步解释。 # O的含义 通俗的说,O表示忽略系数的复杂度上限,常常用一个量级表示,比如n,nlgn。 # 忽略的系数重要吗 重要。我觉得《算法》比《算法导论》优秀的原因之一是,作者用实例 ...
分类:
编程语言 时间:
2016-08-08 00:45:38
阅读次数:
149
搜索算法总结 (AVL,红黑树什么的还没写,斐波那契没写完) 参考资料: 《算法导论》 《算法:C语言实现(第1-4部分)》 《大话数据结构》 ...
分类:
编程语言 时间:
2016-08-02 18:51:52
阅读次数:
218
快速排序最坏情况运行时间为O(n2),但实际中通常都是用于排序的最佳的实用选择,因为其平均性能相当好:期望的运行时间为O(nlgn),且O(nlgn)记号中隐含的常数因子很小。 快速排序是一种就地排序。同时,是一种不稳定的排序。本文内容主要参照算法导论。 快速排序主要利用了分治的思想。一般分为三步进 ...
分类:
编程语言 时间:
2016-07-31 10:14:12
阅读次数:
261
用动态规划方法求解活动选择问题,与贪心算法相比,显然是庞然大物,大材小用了,贪心算法可以非常简洁的求解活动选择问题 动态规划: 代码中添加了a0和a12作为伪活动,辅助问题求解! ...
分类:
编程语言 时间:
2016-07-17 21:03:21
阅读次数:
315
转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51918844单源最短路径是指:给定源顶点s∈Vs \in V到分别到其他顶点v∈V?{s}v \in V-\{s\}的最短路径的问题。
Dijkstra算法采用贪心策略:按路径长度递增的顺序,逐个产生各顶点的最短路径。算法过程中需要维护一个顶点集SS,此顶点集保存...
分类:
编程语言 时间:
2016-07-15 20:54:31
阅读次数:
243
0-1背包问题描述 有一个窃贼在偷窃一家商店时发现有n件物品,第i件物品价值为vi元,重量为wi,假设vi和wi都为整数。他希望带走的东西越值钱越好,但他的背包中之多只能装下W磅的东西,W为一整数。他应该带走哪几样东西? 0-1背包问题中:每件物品或被带走,或被留下,(需要做出0-1选择)。小偷不能 ...
分类:
编程语言 时间:
2016-07-14 19:26:05
阅读次数:
211
转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51908175关于图的几个概念定义:
连通图:在无向图中,若任意两个顶点viv_i与vjv_j都有路径相通,则称该无向图为连通图。
强连通图:在有向图中,若任意两个顶点viv_i与vjv_j都有路径相通,则称该有向图为强连通图。
连通网:在连通图中,若图的边具有一定的...
分类:
编程语言 时间:
2016-07-14 17:30:12
阅读次数:
351
转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51897538图的遍历就是从图中的某个顶点出发,按某种方法对图中的所有顶点访问且仅访问一次。为了保证图中的顶点在遍历过程中仅访问一次,要为每一个顶点设置一个访问标志。通常有两种方法:深度优先搜索(DFS)和广度优先搜索(BFS).这两种算法对有向图与无向图均适用。...
分类:
编程语言 时间:
2016-07-13 23:19:01
阅读次数:
415