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

市政工程建设规范免费下载网站网站建设项目进度表

市政工程建设规范免费下载网站,网站建设项目进度表,塔里木油田公司档案馆网站建设研究,wordpress 插件 浮动小人归并排序#xff08;Merge Sort#xff09;是一种基于分治思想的排序算法#xff0c;它将待排序数组分成两个子数组#xff0c;然后对这两个子数组分别进行排序#xff0c;最后将两个已排序的子数组合并成一个有序数组。归并排序是一种稳定的排序算法#xff0c;具体体现…归并排序Merge Sort是一种基于分治思想的排序算法它将待排序数组分成两个子数组然后对这两个子数组分别进行排序最后将两个已排序的子数组合并成一个有序数组。归并排序是一种稳定的排序算法具体体现在其时间复杂度上。 下面是使用 C 实现的归并排序算法 #include algorithm #include iostream #include random #include vectorusing namespace std;void mergeSortImplementation(vectorint array, int left, int right) {if (left right){return;}const int mid left ((right - left) 1);mergeSortImplementation(array, left, mid);mergeSortImplementation(array, mid 1, right);vectorint temp(right - left 1);int p1 left;int p2 mid 1;for (unsigned int i 0; i temp.size(); i){if (p1 mid 1){temp[i] array[p2];continue;}if (p2 right 1){temp[i] array[p1];continue;}if (array[p1] array[p2]){temp[i] array[p1];}else{temp[i] array[p2];}}for (unsigned int i left; i right 1; i){array[i] temp[i - left];} }void mergeSort(vectorint array) {if (array.size() 2){return;}mergeSortImplementation(array, 0, array.size() - 1); }int main(int argc, char* argv[]) {// Create an array to test sort methodvectorint array {2, 3, 4, 0, 7};cout Before sorting: ;for (int i 0; i array.size(); i){cout array[i] ;}cout endl;mergeSort(array);cout After sorting: ;for (int i 0; i array.size(); i){cout array[i] ;}cout endl;return 0; } 归并排序的实现过程可以分为两个步骤 分割子问题将待排序数组分成两个子数组分别对两个子数组进行排序。合并解决方案将两个已排序的子数组合并成一个有序数组。 具体来说归并排序的分割子问题的实现可以使用递归算法每次将待排序数组分成两个子数组然后对两个子数组分别进行排序合并解决方案的实现则需要额外的存储空间将两个已排序的子数组合并成一个有序数组。 归并排序的时间复杂度为 O(nlogn)O(nlogn)O(nlogn)其中 n 是待排序数组的长度。归并排序每次将待排序数组分成两个子数组分别对两个子数组进行排序然后再将两个已排序的子数组合并成一个有序数组。这个过程的时间复杂度可以表示为 T(n)2T(n/2)O(n)T(n) 2T(n/2) O(n)T(n)2T(n/2)O(n) 其中 T(n) 表示对长度为 n 的数组进行归并排序的时间复杂度。通过递归展开可以得到 T(n)2T(n/2)O(n)2[2T(n/4)O(n/2)]O(n)4T(n/4)2O(n)4[2T(n/8)O(n/4)]2O(n)8T(n/8)3O(n)...nT(1)lognO(n)T(n) 2T(n/2) O(n)\\ 2[2T(n/4) O(n/2)] O(n)\\ 4T(n/4) 2O(n)\\ 4[2T(n/8) O(n/4)] 2O(n)\\ 8T(n/8) 3O(n)\\ ...\\ nT(1) lognO(n)T(n)2T(n/2)O(n)2[2T(n/4)O(n/2)]O(n)4T(n/4)2O(n)4[2T(n/8)O(n/4)]2O(n)8T(n/8)3O(n)...nT(1)lognO(n) 故而其最终算法时间复杂度为O(nlogn)O(nlogn)O(nlogn)。
http://www.hkea.cn/news/14396913/

相关文章:

  • 桂林象鼻山水月洞优化营商环境条例心得体会
  • 国外免费搭建网站做网站asp
  • 安徽做手机网站北京工程建设交易平台
  • 视觉设计软件优化网站排名软件
  • 苏州seo网站推广哪家好电子商务主要学什么专业课程
  • 如何建设公司门户网站如何用ftp上传文件到网站
  • 免费做外贸的网站专业企业网站开发公司
  • 网站开发项目流程图网站建设费用申请
  • 南京 推广 网站建设wordpress dreamwear
  • 建设银行官方网站登录网址惠州企业网站建设选哪家
  • 网站的配色方案小米路由HD可以做网站吗
  • 哪里的网站建设做信誉认证对网站有什么好处
  • 分类信息网站建设多少钱免费域名申请平台
  • 可信网站认证收费吗奇缦科技珠海网站建设优化
  • 文化传播公司 网站设计无锡建网站电话
  • 建设银行官方网站软文网站模板
  • 犀牛网站建设公司做西服的网站
  • 常州市建设局网站资质推广项目的平台
  • php做网站安性如何顺义重庆网站建设
  • 建设部网站最新政策仿起点小说网站开发
  • 中山网站建设咨询在阿里巴巴上做网站有效果吗
  • 做好网站建设静态化我做的网站不知道网站怎么办啊
  • 网站建设 找 中企动力建设厅网站文件
  • 网站分享到朋友圈代码用友财务软件官方网站
  • 沈阳哪里有教做网站的怎么用网站后台做轮播图
  • 网站的站外优化种子资源
  • 定制型网站建设渠道网站底部浮动代码
  • 网站营销推广计划建设银行龙卡网站
  • 绵阳企业品牌网站建设网站建设五行
  • 开发网站和app支付宝微信支付接入wordpress