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
源码://HeapSort.cpp#include using namespace
std;//about heap://the last leaf node is a[n-1]//the last non-leaf node is
a[n/2-1];// a[i]// ...
分类:
其他好文 时间:
2014-05-27 02:21:23
阅读次数:
240
【面试题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
经典排序算法 - 堆排序Heap
sort堆排序有点小复杂,分成三块第一块,什么是堆,什么是最大堆第二块,怎么将堆调整为最大堆,这部分是重点第三块,堆排序介绍第一块,什么是堆,什么是最大堆什么是堆这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。堆可以视为一棵完全的二叉树,完全二叉树的一个...
分类:
其他好文 时间:
2014-05-22 00:05:09
阅读次数:
319
排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序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
#includeusing namespace std;//大根堆,从小到达排序int
a[101];void swap(int &a,int &b){ a=a^b; b=a^b; a=a^b; }void adjust(int
*a,int root,int len){ int max=root;...
分类:
其他好文 时间:
2014-05-19 15:13:43
阅读次数:
219
JavaScript版排序算法:冒泡排序、快速排序、插入排序、希尔排序(小数据时,希尔排序会比快排快哦) 1
//排序算法 2 window.onload = function(){ 3 var array = [0,1,2,44,4, 4 324,5...
分类:
编程语言 时间:
2014-05-19 12:20:56
阅读次数:
406