当前位置: 首页 > wzjs >正文

哈尔滨精致网站建设搜狗seo查询

哈尔滨精致网站建设,搜狗seo查询,高端网站如何建设,vue发布停运公告归并排序与快速排序 快速排序是利用的递归思想:选取一个基准数,把小于基准数的放左边 大于的放右边直到整个序列有序 。快排分割函数 O(lognn), 空间 :没有额外开辟新的数组但是递归树调用函数会占用栈内存 O(logn) 。 归并排序:在递归返回的…

归并排序与快速排序

快速排序是利用的递归思想:选取一个基准数,把小于基准数的放左边 大于的放右边直到整个序列有序 。快排分割函数 O(lognn), 空间 :没有额外开辟新的数组但是递归树调用函数会占用栈内存 O(logn) 。
归并排序:在递归返回的过程中保证每个返回的子集都是有序的。时间O(logn
n),空间:O(n)。

归并排序

#include<iostream>
#include<stdlib.h>
#include<time.h> 
using namespace std;
//在归 的过程中 进行数据的合并 达到排序的效果
//时间O(logn*n) 空间:O(n) 
//递归排序
void _merge(int arr[], int left, int mid, int right){int *p = new int[right - left + 1]; int idx = 0; int i = left;int j = mid + 1;//开始数据合并 while(i <= mid && j <= right){if(arr[i] <= arr[j]){p[idx++] = arr[i++];}else{p[idx++] = arr[j++];}}//左端有剩余 while(i <= mid){p[idx++] = arr[i++];} //右端有剩余while(j <= right){p[idx++] = arr[j++];} //将合并后的数据拷贝给原数组for(i = left, j = 0; i <= right ; ++i, ++j){arr[i] = p[j];}delete []p; 
} //归并排序递归接口函数 
void  _mergeSort(int arr[], int left, int right){// 递归结束条件if(left >= right) return; int mid = (left + right) / 2;//先传递 _mergeSort(arr, left, mid);_mergeSort(arr, mid + 1, right);//再归并 额外的内存空间 小段有序 和并为 大段有序_merge(arr, left, mid, right); 
} void _mergeSort(int arr[] , int length){return _mergeSort(arr, 0, length - 1);
}int main(){int arr[10];int length = 10;srand(time(NULL));for(int i = 0 ; i < length ; ++i){arr[i] = rand() % 100 + 1;cout<<arr[i]<<" "; }cout<<endl;_mergeSort(arr,length); for(int i = 0 ; i < length ; ++i){cout<<arr[i]<<" "; }return 0;
} 

快速排序

#include<iostream>
#include<stdlib.h>
#include<time.h> 
using namespace std;
//快速排序思想:选取一个基准数,把小于基准数的放左边 大于的放右边 直到整个序列有序 
//从数组左右两边都找 找到一个停下来换另外一边  
//快排优化思想:随着快排算法的执行,数据越来越有序,在一定范围内,可以采用插入排序代替快速排序 //快排分割函数 O(logn*n) 空间 :没有额外开辟新的数组但是递归树调用函数会占用栈内存 O(logn) 
int partation(int arr[] , int begin , int end){int val = arr[begin];int i = begin;int j = end;while(i < j){while(i < j && arr[j] > val)j--;//找到小于基准数 if(i < j){arr[i] = arr[j];i++; }while(i < j && arr[i] < val){i++;}//大于的基准数 if(i < j){arr[j] = arr[i];j--;}} arr[i] = val;return i;
}
//快排的递归接口 
void _fast(int arr[] , int begin , int end){if(begin >= end) return; //递归结束条件//在区间做一次快排int pos = partation(arr, begin, end);//对基准数的左边快排_fast(arr, begin , pos - 1); //对基准数的右边做快排 _fast(arr, pos + 1 , end);}void _fast(int arr[] , int length){return _fast(arr, 0 , length - 1); 
}int main(){int arr[10];int length = 10;srand(time(NULL));for(int i = 0 ; i < length ; ++i){arr[i] = rand() % 100 + 1;cout<<arr[i]<<" "; }cout<<endl;_fast(arr,length); for(int i = 0 ; i < length ; ++i){cout<<arr[i]<<" "; }return 0;
} 
http://www.dtcms.com/wzjs/424796.html

相关文章:

  • 香港服务器网站推广厦门人才网官网招聘信息网
  • 家政网站怎么做关键词英文
  • 网站建设公司哪个好呀net网站建设长尾关键词挖掘熊猫
  • 企业网站分为哪三种类型百度查关键词显示排名
  • 商城网站建设哪家好网络营销方法
  • 厦门做网站的公司谷歌官方网站
  • 网站建设实训不足上海搜索引擎优化seo
  • 临沂营销型网站建设全国疫情排行榜
  • 温州建设集团网站互联网公司网站模板
  • 网站建设中 html5 模板黄冈黄页88网黄冈房产估价
  • 郑州网站建设索q479185700如何做营销推广
  • 网站三大标签设置长春今日头条新闻
  • 偃师做网站移动端优化
  • 做app和做网站相同和区别seo编辑是干什么的
  • 网站开发建设收费标准怎么样做一个自己的网站
  • php服装商城网站建设济南seo优化公司助力排名
  • 郑州做网站云极网络营销有哪些形式
  • 成都网站建设四川冠辰windows优化大师怎么下载
  • 东莞网站建设招聘唐山seo
  • 网站 图片切换搜索引擎营销推广
  • 快速做网站公司哪家专业百度游戏排行榜风云榜
  • 建设网站网站站长工具域名查询ip
  • 国产做爰全免费的视频网站有什么引流客源的软件
  • html做网站杭州网络排名优化
  • 网站虚拟主机建设重庆seo外包平台
  • 买了网站主机后如何建设网站互联网营销顾问是做什么的
  • 购买网站平台如何做分录关键词排名批量查询软件
  • 网站建设服务合同缴纳印花税吗上海官网seo
  • 综合型b2b平台有哪些seo刷词
  • 南沙滩做网站公司百度安装