
算法
文章平均质量分 71
张美红
这个作者很懒,什么都没留下…
展开
-
程序员必须知道的十大算法
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and conquer)策转载 2015-03-31 10:20:36 · 2126 阅读 · 26 评论 -
冒泡排序法
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如原创 2015-03-15 19:46:43 · 1338 阅读 · 11 评论 -
希尔排序法
希尔排序法的基本思想是:先选定第一个整数,把待排序文件中所有记录分成个组。如下图,第一个整数分为有序组,其余为无序组。 每次处理就是将无序组中的第一个数,与有序组的元素从后往前一次比较,找到合适位置插入,即完成一次处理;这样一直重复下去,直到无序组中没有元素为止。如下图,已清除描述。 排序的目的就是为了使无序数列变为有序数列。希尔排序法,一开原创 2015-07-22 16:14:28 · 1538 阅读 · 24 评论