摘要: 快排定义: 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。基本思想:快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(... 阅读全文
posted @ 2014-10-30 23:58 神叉 阅读(478) 评论(1) 推荐(0) 编辑
摘要: 直接插入排序定义: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。直接插入排序属于稳定的排序,最坏时间复杂性为O(n^2),空间复杂度为O(1)。class Program{ static void Main(string[] args) { ... 阅读全文
posted @ 2014-10-30 21:33 神叉 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 选择排序定义:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。class Program{ static void Main(string[] args) { int[] arr... 阅读全文
posted @ 2014-10-30 20:20 神叉 阅读(274) 评论(0) 推荐(1) 编辑
摘要: 斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)①、递归public static int Fibonacci(int num){ ... 阅读全文
posted @ 2014-10-30 16:56 神叉 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序算法原理:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3、针对所有的元素重复以上的步骤,除了最后一个。 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需... 阅读全文
posted @ 2014-10-30 16:35 神叉 阅读(250) 评论(0) 推荐(0) 编辑