- 博客(4)
- 资源 (8)
- 收藏
- 关注
原创 算法导论-----最长公共子序列LCS(动态规划)
目录一.概念梳理二.最长公共子序列解决方案 方案1:蛮力搜索策略方案2:动态规划策略三、C代码实现 实现1实现2(空间优化)一.概念梳理 1. 子序列(subsequence): 一个特定序列的子序列就是将给定序列中零个或多个元素去掉后得到的结果(不改变元素间相对次序)。例如序列<A,B,C,B,D,A,B><A,B,C,B,D,A,B>的子序列有:<A,B><A,B>、<B,C
2016-12-19 22:51:07 45237 11
原创 算法导论-----动态规划是什么
《算法导论》中并没有把动态规划的来龙去脉介绍清楚,网上很多讲解都是动态规划的数学模型,感觉没必要系统的学习数学的定义,把人搞晕了。本文更像是一篇科普,方便理解什么是动态规划。一、动态规划概述 动态规划(Dynamic Programming)通常是用来解决最优化问题的。最初是由数学家在研究多阶段决策过程的优化问题时,提出的优化原理,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解
2016-12-14 21:41:20 10164 2
原创 算法导论------递归算法的时间复杂度求解
1.算法设计与分析概述 在总结递归算法的时间复杂度分析之前,应该明确几组概念。 算法仅仅是求解问题的解决方案,这个解决方案本身并不是问题的答案,而是能获得答案的指令序列。只有通过执行算法才可以获得求解问题的答案。 从算法是否递归调用的角度看,算法可以分为非递归算法和递归算法。 非递归算法时间复杂度分析较为简单,通常是计算算法中基本语句执行次数,一般都是一个关于问题规模n的表达式,
2016-12-04 19:31:11 76921 7
原创 算法导论------堆排序heapsort
目录1.堆排序概述2.二叉堆3.二叉堆的存储4.维护堆的性质5.建堆操作6.堆排序7.C代码实现8.参考资料1.堆排序概述 简单选择排序是:假设排序序列为L[1...n]L[1...n],第i趟排序从L[i...n]L[i...n]中选择关键字最小(大)元素与L[i]L[i]交换,每一趟排序可以确定一个元素到最终的位置上,这样经过n−1n-1趟排序就可以使得整个排序序列有序。可惜
2016-12-02 00:32:36 6168
《阿里巴巴Android开发手册》高清带目录无水印
2018-03-01
notepad++插件管理PluginManager
2018-02-12
插件管理PluginManager
2018-02-12
强化学习在阿里的技术演进与业务创新_reinforcement_learning_高清无水印.pdf
2018-02-07
解题·成长·快乐——陶哲轩教你学数学
2017-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人