1、 递归算法:quicksort.cpp#include using namespace
std;void Swap(int a[],int i,int j){ int temp=a[i]; a[i] = a[j]; a[j] = temp;}int
Partition(int a[],int l...
分类:
其他好文 时间:
2014-05-27 02:29:55
阅读次数:
274
【面试题030】最小的k个数题目: 输入n个整数,找出其中最小的k个数。
例如输入4、5、1、6、2、7、3、8这8个字,则其中最小的4个数字是1、2、3、4。思路一:
可以同样的基于随机快速排序的Partition函数,来对数组做划分, 基于k来作调整,返回调用Partition函数,直到...
分类:
其他好文 时间:
2014-05-27 02:04:02
阅读次数:
287
以前写的一些老代码留着没事可以看看 1 // 2 // main.c 3 // cTest 4
// 5 // Created by on 13-10-8. 6 // Copyright (c) 2013年. All rights reserved. 7
// 8 9 #include ...
分类:
编程语言 时间:
2014-05-23 10:53:27
阅读次数:
251
1.写出下列算法的时间复杂度。
(1)冒泡排序;
(2)选择排序;
(3)插入排序;
(4)快速排序;
(5)堆排序;
(6)归并排序;...
分类:
编程语言 时间:
2014-05-22 11:46:43
阅读次数:
321
一、算法思想描述1)令i = L,j = R,将基准数挖出形成第一个坑(基准数可以选择第一个位置上的数作为基准数,也可以选择其他位置上的数作为基准数)。2)j-- 。从后往前扫,找到第一个比基准数小的数。并将其“挖出”,填到上一个形成的坑中arr[i]3)i++ 。 从前往后扫,找到第一个比基准数大的数。并将其“挖出”,填到上一个形成的坑中arr[j]4)不断地重复2)、3)直到i == j,...
分类:
其他好文 时间:
2014-05-22 06:48:32
阅读次数:
208
排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n2)O(n*log2n)不一定O(n)插入排序O(n2)O(n2)稳定O(1)堆排序O...
分类:
其他好文 时间:
2014-05-21 23:31:35
阅读次数:
310
常见排序算法主要有:插入排序(直接插入排序、希尔排序)选择排序(直接选择排序、堆排序)交换排序(冒泡排序、快速排序)归并排序基数排序外部排序一.直接插入排序算法思想:在一个待排序列中,从第二个元素开始,依次进行排序,每次都将待排序元素从后往前,依次与前面的元素进行比较,从而将带排序元素移动到一个合适...
分类:
其他好文 时间:
2014-05-21 20:03:36
阅读次数:
353
分治法,分而治之,基本思路:分,解,和。
初探分治之快速排序。...
分类:
其他好文 时间:
2014-05-21 15:34:37
阅读次数:
237
【题目】
有很多无序的数,从中找出最大的K个数。假定他们都不相等。
【解法一】
如果数据不是很多,例如在几千个左右,我们可以排一下序,从中找出最大的K个数。排序可以选择快速排序或者堆排序
[cpp] view
plaincopy
#include
#include
int cmp(const void *a,const ...
分类:
其他好文 时间:
2014-05-21 07:30:07
阅读次数:
234
JavaScript版排序算法:冒泡排序、快速排序、插入排序、希尔排序(小数据时,希尔排序会比快排快哦) 1
//排序算法 2 window.onload = function(){ 3 var array = [0,1,2,44,4, 4 324,5...
分类:
编程语言 时间:
2014-05-19 12:20:56
阅读次数:
406