算法设计
mengfanteng
这个作者很懒,什么都没留下…
展开
-
分治算法求N个数中第K小(大)的数
这个学期开算法课,跟着进度写写代码就好。这周讲分治,说到了求N个数中第K小(大)数的问题,写写看。 分治算法的复杂度是O(n),用到了快速排序的思路:先选取一个参考数进行一次快排,拿升序来说的话,快排之后左边所有数参考数,然后根据左右部分各自包含元素的个数,计算要求的元素在哪个区间内(要求的元素或是左区间中的第k小数,或是右区间中第[k-j]小数,j为左区间的长度),然后递归求解。 本来pku原创 2014-12-25 20:43:16 · 9804 阅读 · 0 评论 -
动态规划+递归(斐波那契数)
斐波那契数(动态规划) 通过把所计算的值存储在递归过程的外部数组中,明确地避免重复计算。这一程序计算的时间与N成正比。 int F(int i) { if(knownF[i] != unknown)原创 2015-06-05 17:00:26 · 906 阅读 · 0 评论