- 博客(2)
- 资源 (3)
- 收藏
- 关注
原创 算法导论 - 快速排序的 C 语言实现
在实践中,需要对大量数据排序时,快速排序常常是最佳的选择。快速排序是基于分治思想的一种算法,和归并排序有相似之处。在最坏情况下,快速排序的时间复杂度是O( n^2 );平均情况下,快速排序的时间复杂度是 O( n * lg n)。我们知道归并排序的时间复杂度是O( n * lg n),那么为什么在实践中会发现快速排序常常要优于归并排序呢?通过分析快速算法,我们可以发现最坏情况出现的概率极为小;而在
2015-03-24 15:54:37 1032
原创 算法导论 - 最大和连续子数组
1. 问题描述 已知一个整型数组,数组中一个元素或连续的多个元素可构成了该整型数组的子数组。将每个子数组中所有元素相加,即得到该子数组的和。求一个子数组,它的和在所有子数组中最大。 本文分别给出利用分治算法和的动态规划的算法解决该问题的示例代码(C 语言实现,python 实现或 JAVA 实现),前者的时间复杂度为 O(n * log n),后者的时间复杂度为 O(n)。
2015-03-03 16:54:38 1060
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人