#includeusing namespace std;///算法重要,但是思想更重要 void
MemeryArray(int a[],int n,int b[],int m,int c[])///经典框架,be careful!{ int i,j,k;
i = j = k = 0; while(...
分类:
其他好文 时间:
2014-05-26 11:22:57
阅读次数:
204
海量数据处理策略之一—Hash映射 + Hash_map统计 + 堆/快速/归并排序...
分类:
其他好文 时间:
2014-05-23 01:18:40
阅读次数:
414
1.写出下列算法的时间复杂度。
(1)冒泡排序;
(2)选择排序;
(3)插入排序;
(4)快速排序;
(5)堆排序;
(6)归并排序;...
分类:
编程语言 时间:
2014-05-22 11:46:43
阅读次数:
321
一、算法思想描述 归并排序:先递归分解序列,然后在合并有序序列。其过程描述如下:每次输出A、B这两个有序序列中的最小的一个。 二、算法分析 时间复杂度:最差、平均、最好的时间复杂度都是O(nlgn); 空间复杂度:O(n) 稳定性: 稳定三、算法实现 /*
* mergesort.cpp
*
* Created on: 2014年5月18日...
分类:
其他好文 时间:
2014-05-22 07:29:44
阅读次数:
250
问题:3,1,4,1,5,9,6,5 通过归并排序对它进行从大到小的排序
要进行多少次数组元素之间的比较?网站找的解决方法:第一趟合并(3,1),(4,1),(5,9),(5,6)
,元素之间共比较了4次;第二趟合并(4,3,1,1),(9,6,5,5),元素之间共比较了6次;为什么是6次?(3.....
分类:
其他好文 时间:
2014-05-21 23:05:08
阅读次数:
260
问题:3,1,4,1,5,9,6,5 通过归并排序对它进行从小到大的排序
要进行多少次数组元素之间的比较?[3] 1 4 1 5 9 6 5第一次排序结果:[1 3] 4 1 5 9 6 5;
//新加入的3和1比较,比较次数1次第二次排序结果:[1 3 4] 1 5 9 6 5; //新加入的4和...
分类:
其他好文 时间:
2014-05-21 22:19:55
阅读次数:
208
常见排序算法主要有:插入排序(直接插入排序、希尔排序)选择排序(直接选择排序、堆排序)交换排序(冒泡排序、快速排序)归并排序基数排序外部排序一.直接插入排序算法思想:在一个待排序列中,从第二个元素开始,依次进行排序,每次都将待排序元素从后往前,依次与前面的元素进行比较,从而将带排序元素移动到一个合适...
分类:
其他好文 时间:
2014-05-21 20:03:36
阅读次数:
353
Gof上的官方定义:外观模式为子系统中一组不同的接口提供统一的接口。外观定义了上层接口,通过降低复杂度和隐藏子系统间的通信及依存关系,让子系统易于使用。
其实这个设计模式我们很常见,一般我们使用第三方类的时候都会有这种模式,使用第三方时我们只需要引用第三方的其中改一个文件就能满足很多功能的使用。我只这个文件就是讲子系统的一些方法归并到了这个文件中,从而使使用者上手更快。
以后应该多使用这种设计...
分类:
其他好文 时间:
2014-05-21 08:52:46
阅读次数:
246
package merge;
import javax.lang.model.element.Element;
/**
* 归并排序:
* 归并排序的效率是比较高的,设数列长为N,将数列分开成小数列一共需要logN步,每步都是一个合并有序数列的过程,时间复杂度为O(N),故一共为
* O(NlogN).
* @author AbuGe
*
*/
public class Merge...
分类:
其他好文 时间:
2014-05-20 14:40:39
阅读次数:
320
Description在这个问题中,你需要分析一个对n个不同数排序的算法。该算法主要通过交换相邻数直到序列有序(升序)。比如:对输入序列
9 1 0 5 4经过一系列交换后变成有序序列 0 1 4 5
9你的任务是计算将序列变成有序最少需要经过多少次交换。Input输入包含多组测试数据。每组第一个是...
分类:
其他好文 时间:
2014-05-20 10:57:05
阅读次数:
296