
算法
蚁方阵
千里之行,始于足下,用代码编织技术人生
展开
-
算法(一):全排列实现与尾递归
将n个元素按照一定的顺序排列起来,求出排列的所有组合。算法分析, 假定n个元素的全排列组合为F(n) 1. n = 1,只有一种组合(1),即F(n) = [(1)]; 2. n = k时,只需要与n = k - 1时形成的全排列组合F(k - 1)一一组合排列即可,增加的元素为 (k - 1) * F(k - 1),故现在的组合数量为 (k - 1) * F(k - 1) + F(k - 1)原创 2017-08-03 18:26:04 · 680 阅读 · 0 评论 -
算法(二):快速排序的两种实现方法
快速排序的原理是有序的数组(顺序)一定满足这样的充分必要条件,对所有的元素而言(亦即每一个元素都可以作为基准元素),每一个比自己大的元素都排列在自己的身后,每一个比自己小的元素都排列在自己的身前。所以,快速排序的步骤是: 1. 选定一个基准元素(有很多种方法,如随机、第一个元素、中间的元素……,随你所愿); 2. 创建两个游标,一个用于从后向前检索比基准元素小的元素,一个用于从前向后检索比自己大原创 2017-08-18 21:28:32 · 1047 阅读 · 0 评论