
算法汇集
文章平均质量分 60
linmars24
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
回溯算法-》应用
回溯是一种系统地搜索问题解答的方法。为了实现回溯,首先需要为问题定义一个解的空间。而问题的解集合一般被组织成树的形式(一般解所构成树为逻辑树不用去用代码构建一个解集合构成的树)。然后以深度搜索的方式去遍历解集合,从而得到问题的解。可以使用限界函数来避免 对不可能求出解子集合的遍历来优化回溯方法。 回溯方法求解的步骤:1:定义一个解的空间,它包含问题的解。2:以适于搜索的方式原创 2012-07-23 21:36:04 · 1129 阅读 · 0 评论 -
编程之美---->字符串移位包含问题
问题描述:给定两个字符串s1和s2,要求判定s2是否能够被s1做循环移位得到的字符串包含。例如给定s1=aabcd和s2=cdaa,函数返回true;给定s1=abcd,和s2=acbd返回false。 编程之美上解法二是将问题转化,将原来的字符串扩展。 假设s=abcd,则对s循环移位后得到的结果是: abcd->bcda->cdab->dabc原创 2012-07-30 16:36:38 · 725 阅读 · 0 评论 -
最短路径实现代码-->Dijkstra求解最短路径问题
在求解最短路径问题上,Dijkstra的算法当属家喻户晓的经典,这种算法是贪婪算法。 问题描述:假设现在有一个有向图G,如图所示,每条边都有一个耗费值,路径的长度为路径所经过的边的耗费值之和。现在求s点,到其他任意顶点的最短路径。原创 2012-07-31 12:53:59 · 1023 阅读 · 0 评论 -
2012年腾讯招聘实习生一道笔试题
问题描述: 给定一耳光数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法:要求O(1)空间复杂度和O(n)的时间复杂度;除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、堆空间和全局静态变量等);青铜程序(主流编程语言任选)实现并简单描述。 这道原创 2012-09-02 17:34:19 · 1215 阅读 · 0 评论 -
计算图中包含环的个数
问题描述:计算图中包含环的个数以邻接矩阵为例。解法:(假设图是连通图,不为连通图时分别对每个生成树处理即为所得)1、以广度遍历图获得图的生成树。2、得到生成树所包含的边的集合S,其中S[i][j]表示顶点i到顶点j的边。3、将不包含在生成树中的图的边的集合T,其中T[i][j]表示顶点i到顶点j的边。4、从集合T选一条边T[i][j];5、以深度遍历S,计算出顶点i原创 2012-09-07 23:39:48 · 3887 阅读 · 0 评论