归并排序

时间复杂度nlogn,空间复杂度n,归并排序是稳定的排序方法。 //归并排序 #include #include using namespace std; void Merge(int a[],int b[],int i,int m,int j) { int x=i; int y...

2016-05-14 21:45:51

阅读数:132

评论数:0

堆排序递归算法

//堆排序递归算法 #include #include using namespace std; void AdjustHeap(int a[],int n,int k) { int i=k; int j=2*i; a[0]=a[i]; if(i<=n/2) ...

2016-05-14 18:34:56

阅读数:173

评论数:0

堆排序非递归算法

时间复杂度nlogn,空间复杂度O(1),是不稳定的排序方法。//堆排序非递归算法 #include #include using namespace std; void AdjustHeap(int a[],int n,int k) { int i=k; int j=2*i; ...

2016-05-14 18:08:43

阅读数:222

评论数:1

树形选择排序

时间复杂度nlogn, 空间复杂度n,这是不稳定排序方法 //树形选择排序 #include #include using namespace std; int q[100],l[100]; void creInitTree(int l[],int n) { int m=2*n-1; ...

2016-05-14 16:30:46

阅读数:204

评论数:0

选择排序

时间复杂度O(n^2),空间复杂度O(1),这是不稳定的排序方法。 //选择排序 #include #include using namespace std; void SelectSort(int a[],int n) { for(int i=1;i<n;i++) { ...

2016-05-14 16:02:52

阅读数:110

评论数:0

快速排序

//快速排序 #include #include using namespace std; void quicksort(int a[],int low,int high) { if(low<high) { int i=low,j=high; ...

2016-05-14 15:53:39

阅读数:144

评论数:0

表插入排序

时间复杂度O(n^2),空间复杂度O(n),这是稳定的排序方法 //表插入排序 #include #include using namespace std; #define Size 10 #define MAX 1000 typedef int Elemtype; typedef stru...

2016-05-14 14:59:36

阅读数:210

评论数:0

2路插入排序

基本思想:以第一个记录为界,将整个记录序列分成两部分进行处理。将不小于第一个记录的所有记录用折半插入的方式插入左路的序列序列中,将小于第一个序列的记录插入用折半插入的方法插入到右路的序列中。final为左路最后一个元素,first为右路第一个元素。 空间复杂度O(n),时间复杂度O(n^2),这...

2016-05-14 14:12:05

阅读数:426

评论数:0

折半插入查找

先利用二分查找找到a[[i]在1~i中插入的位置,再移位,插入。 空间复杂度O(1),时间复杂度O(n^2),该算法比插入算法好些,属于稳定的排序方法。//折半插入排序 #include #include using namespace std; #define MAX 100 void Bina...

2016-05-14 13:34:53

阅读数:211

评论数:0

排序 希尔排序

增量选择的是唐纳德增量,对于增量的选择,有好多种,时间复杂度也不同主要典型的有: #include #include using namespace std; void ShellSort(int a[],int n) { int i; for(int D=n/2;D>0...

2016-05-14 13:19:14

阅读数:114

评论数:0

排序 插入排序

#include #include using namespace std; void swap(int a[],int i,int j) { int t=a[i]; a[i]=a[j]; a[j]=t; } //每次取一个元素,然后插到这个元素前面的有序数列中,那么这个元...

2016-05-12 20:49:36

阅读数:114

评论数:0

排序 冒泡排序

#include #include using namespace std; void swap(int a[],int i,int j) { int t=a[i]; a[i]=a[j]; a[j]=t; } void BubbleSort(int a[],int n) {...

2016-05-12 20:20:18

阅读数:124

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭