排序
文章平均质量分 72
richard_飞飞
天空中没有翅膀的痕迹,但我已经飞过
展开
-
第二章 算法入门 合并排序
在第二章中难的算法不多,接下来我会把原创 2014-05-11 12:55:34 · 985 阅读 · 0 评论 -
计数排序
第一、任意一个比较排序算法在最好情况下的时间复杂度也是O(nlogN);第二、计数排序假设n个输入元素的每一个都是介于0到k之间的整数,计数排序可用,需要临时存储空间O(K),时间复杂度是O(n).#include using namespace std;void countingSort(int *A,int len,int max){ if(A==NULL || len<原创 2014-05-14 22:57:02 · 788 阅读 · 0 评论 -
第七章 快速排序
快速排序最坏情况下时间复杂度是O(n*n),但是它平均时间复杂度是O(N*logn),并且常数因子很小,可实现就地排序,所以被作为内排序的常用排序方法.#include using namespace std;void swap(int &i,int &j){ int temp=i; i=j; j=temp;}int partition(int *vector原创 2014-05-14 00:23:27 · 956 阅读 · 0 评论 -
算法导论第六章 堆排序
建堆的时间复杂度是O(n),堆排序的时间复杂度是O(NLogN),具体算法如下所示:#include using namespace std;void swap(int &i,int &j){ int temp=i; i=j; j=temp;}void shiftDown(int *A, int start,int len){ int temp=A[原创 2014-05-13 00:03:30 · 1093 阅读 · 0 评论 -
逆序对
设A[1…n]是一个包含n个不同数的数组。如果在iA[j],则(i,j)就称为A中的一个逆序对(inversion)【《算法导论》2-4】现给出一个数列,求该数列中的逆序对(逆序对 )利用归并排序的方法我们给出如下算法://// main.cpp// CpushTest//// Created by Ellen on 14-5-11.// Copyright (c原创 2014-05-11 21:57:40 · 838 阅读 · 0 评论