#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
出题:多人按照从低到高排成一个前后队列,如果前面的人比后面的高就认为是一个错误对;
例如:[176,178,180,170,171]中的错误对为 , , , , , 。
现在要求从一个整数序列中找出所有这样的错误对;分析:逆序对(Inversion Pair):在N个可判断大小的数中,逆序...
分类:
其他好文 时间:
2014-05-26 02:51:07
阅读次数:
278
排序(一)
初级排序算法
选择排序
思想:首先,找到数组中最小的那个元素。其次,将它和数组的第一个元素交换位置。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。
【图例】
图中,x轴方向为数组的索引,y轴方向为待排序元素的值。
选择排序有两个很鲜明的特点:
运行时间和输入无关。为了找出最小的元素...
分类:
其他好文 时间:
2014-05-24 18:18:30
阅读次数:
492
海量数据处理策略之一—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