算法与数据结构
文章平均质量分 87
hellorichen
入道不长,专业不精,还有很长的路要走
展开
-
最短路径
1.Dijkstra算法(单源最短路径)1.1 最短路径的最优子结构问题1.2 Dijkstra算法原创 2016-09-03 11:10:22 · 345 阅读 · 2 评论 -
KMP字符串模式匹配
1. 算法思想 KMP算法的核心思想是利用已经得到的部分匹配信息来进行后面的匹配过程。2. 实例如下所示:下标01234567891011Sababaaababaanext[]-100123112345原创 2016-09-06 14:43:28 · 587 阅读 · 0 评论 -
时间复杂度的计算
1.确定基本操作2.确定循环条件3.列方程求解原创 2016-10-25 11:29:14 · 425 阅读 · 0 评论 -
数据结构中的排序算法
1.插入排序1.1 算法思想:每趟将一个待排序的元素作为关键字,按照其关键字值的大小插入到已经排好的部分序列的适当位置上,直到插入完成。1.2 代码void insertSort(int R[],int n){ int i,j,temp; for(i=1;i<n;i++) { temp = R[i]; j = i-1; while(j>=0&&temp<R[j])原创 2016-09-04 10:52:41 · 399 阅读 · 1 评论 -
Dijkstra(迪杰斯特拉)算法
1. 算法描述从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。转载 2016-11-08 17:31:41 · 522 阅读 · 0 评论 -
39级台阶问题
题目:第39级台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。递归算法:转载 2016-11-17 09:45:14 · 2799 阅读 · 0 评论 -
10级台阶问题
问题一:爬楼梯有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。动态规划的思想:dynamic programming,一种分阶段求解决策问题的数学思想。即大事化小,小事化了。分两部分:问题建模和求解问题。(1)问题建模上述问题假设只差一步走到第10级,则F(10)=F(9)+F(8)。(最优子结构)...转载 2017-06-20 17:02:47 · 6082 阅读 · 1 评论 -
常用算法
1.求两数的最大公约数public static int gcd(int p, int q) { if (q == 0) return p; int r = p % q; return gcd(q, r);}2.判断一个数是否为素数(prime number)public static boolean isPrime(int N) { if (N < 2) return fa转载 2017-07-10 15:44:52 · 320 阅读 · 1 评论