算法
Hello______world
这个作者很懒,什么都没留下…
展开
-
BFS广度优先搜索
广度优先搜索(BFS)算法 宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。 已知图G=(V,E)和一个源顶点s,宽度优先搜索以一种系统的方式探寻G的边,从而“发现”s所能到达的所有顶点,并计算s到所有这些顶点的距离(最少边数),该算法同时能生成一棵根转载 2012-08-15 16:17:24 · 988 阅读 · 0 评论 -
最长不降子序列的NlogN的解法
这是一个很好的题目。题目的算法还是比较容易看出来的,就是求最长上升子序列的长度。不过这一题的数据规模最大可以达到40000,经典的O(n^2)的动态规划算法明显会超时。我们需要寻找更好的方法来解决是最长上升子序列问题。 先回顾经典的O(n^2)的动态规划算法: 设A[i]表示序列中的第i个数,F[i]表示从1到i这一段中以i结尾的最长上升子序列的长度,初始时设F[i] = 0(i = 1, 2转载 2012-08-25 10:46:28 · 592 阅读 · 0 评论 -
一个有趣的打印菱形的程序
#include int line =1; int main() { printf("%*s\n", 7-(line>4? line-4: 4-line), "*******"+2*(line>4? line-4: 4-line) ); if(++line !=8) main(); return 0;原创 2012-09-05 23:23:44 · 488 阅读 · 0 评论