算法思想灰常重要,常见的用到分治思想的算法包括快速排序,归并,二分搜搜,大整数乘法等(参考 http://blog.csdn.net/com_stu_zhang/article/details/7233761,归纳很到位)简单用归并对一个数组排序 思路: 简单来说对一个数组,只要他的左右两部分都是有...
分类:
其他好文 时间:
2014-07-31 23:35:50
阅读次数:
381
1.冒泡排序void bubble_sort(int arr[], int num){ for(int i=0;iarr[j+1]){ //如果前面的数大于后面的数 int t=arr[j]; //交换两个数的位置,使小数下沉 ...
分类:
其他好文 时间:
2014-07-31 23:25:50
阅读次数:
299
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排...
分类:
其他好文 时间:
2014-07-31 20:44:17
阅读次数:
287
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要O(nlogn)次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。
此种排序的思路是:如果在分开的时候,不是从中间位置上分界,二是按照元素的大小分开为两个一大一小的子序列(一个子序列的所有元素大于另一个子序列里的所有元素),这样的话,因为两个子序列之间的相对次序已经正确,所有在合并的时候...
分类:
其他好文 时间:
2014-07-31 16:58:07
阅读次数:
299
1、冒泡法排序class Program{//冒泡法排序public static void sort(int[] list){int i, j, temp;j = 1;while (j list[i + 1]){temp = list[i];list[i] = list[i + 1];list[....
分类:
其他好文 时间:
2014-07-31 13:00:46
阅读次数:
152
实现汉字和数字混合排序的功能,但在网上找了好久,yo...
分类:
其他好文 时间:
2014-07-31 09:56:06
阅读次数:
192
1.冒泡排序,时间复杂度O(n^2)void bubble_sort(int arr[], int num) { int i,j,t; for(j=0;j<num-1;j++) //共进行num-1趟比较 for(i=0;i<num-j-1;i++) ...
分类:
其他好文 时间:
2014-07-31 02:35:45
阅读次数:
186
TimSort算法是一种起源于归并排序和插入排序的混合排序算法,设计初衷是为了在真实世界中的各种数据中可以有较好的性能。该算法最初是由Tim Peters于2002年在Python语言中提出的。 TimSort 是一个归并排序做了大量优化的版本。对归并排序排在已经反向排好序的输入时表现O(n2)的特点做了特别优化。对已经正向排好序的输入减少回溯。对两种情况混合(一会升序,一会降序)的输入处理比较...
分类:
编程语言 时间:
2014-07-30 14:49:53
阅读次数:
805
本文由 伯乐在线 - smilesisi 翻译自 Kanasz Robert。未经许可,禁止转载!欢迎加入:技术翻译小组,或分享原创到伯乐头条。在这篇文章中,我会向大家展示一些排序算法的可视化过程。我还写了一个工具,大家可对比查看某两种排序算法。下载源码 – 75.7 KB下载示例 – 27.1 K...
分类:
其他好文 时间:
2014-07-30 07:39:53
阅读次数:
388