算法
背姑娘的锅
这个作者很懒,什么都没留下…
展开
-
C实现快速排序
快速排序算法概述 快速排序是采用一种分治的策略; 对输入的无序序列选择一个基准数,然后将比基准数小的放在左边(序列A),比基准数大的放在右边(序列B)(假设现在排序要求升序排列); 然后对序列A和序列B分别再做为第二步的输入序列,重复第二步; 递归操作上面两步,直到输入序列只剩下一个元素返回,这样整个原始序列就已经变为有序序列; 快速排序的平均时间算法复杂度为O(nlogn),最差的情况下时间...原创 2018-03-20 13:48:41 · 260 阅读 · 0 评论 -
生成斐波拉契数列
斐波拉契数列介绍 斐波拉契数列除了第一个和第二个数为1外,以后的数都是前面两个数之和; 数学表示为:F(0)=1,F(1)=1;N>=2;F(N) = F(N-1)+F(N-2); 最后产生斐波那契数列如下: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 代码实现 #include <stdio.h> #includ...原创 2018-04-15 16:54:38 · 278 阅读 · 0 评论 -
二分查找算法
二分查找算法简要介绍 应用二分查找算法的前提是输入序列有序:升序或者降序; 二分查找算法,每次取输入序列seq的中间下标middle对应的值与需要查找的key比较; 对于升序序列而言:如果key>seq[middle],则将middle+1作为下一次查找的左边界,右边界不变; 如果key < seq[middle],则将middle-1作为下一次查找的右边界,左边界不变; 如果ke...原创 2018-04-15 22:58:23 · 250 阅读 · 0 评论