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

梅州市城乡建设部网站首页西安百度关键词优化

梅州市城乡建设部网站首页,西安百度关键词优化,免费网站生成,化妆培训学校网站开发归并排序(Merge Sort)是一种基于分治思想的排序算法,它将待排序数组分成两个子数组,然后对这两个子数组分别进行排序,最后将两个已排序的子数组合并成一个有序数组。归并排序是一种稳定的排序算法,具体体现…

归并排序(Merge Sort)是一种基于分治思想的排序算法,它将待排序数组分成两个子数组,然后对这两个子数组分别进行排序,最后将两个已排序的子数组合并成一个有序数组。归并排序是一种稳定的排序算法,具体体现在其时间复杂度上。

下面是使用 C++ 实现的归并排序算法:

#include <algorithm>
#include <iostream>
#include <random>
#include <vector>using namespace std;void mergeSortImplementation(vector<int>& 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);vector<int> 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(vector<int>& array)
{if (array.size() < 2){return;}mergeSortImplementation(array, 0, array.size() - 1);
}int main(int argc, char* argv[])
{// Create an array to test sort methodvector<int> 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://filling.hwbf.cn
http://laminarization.hwbf.cn
http://dentistry.hwbf.cn
http://kieserite.hwbf.cn
http://radiothermy.hwbf.cn
http://galvanization.hwbf.cn
http://rebloom.hwbf.cn
http://wormwood.hwbf.cn
http://monoaminergic.hwbf.cn
http://clavicembalo.hwbf.cn
http://gley.hwbf.cn
http://stanch.hwbf.cn
http://marl.hwbf.cn
http://gnomic.hwbf.cn
http://escalatory.hwbf.cn
http://emasculated.hwbf.cn
http://surjection.hwbf.cn
http://effect.hwbf.cn
http://volatilization.hwbf.cn
http://declaim.hwbf.cn
http://nonassessability.hwbf.cn
http://aso.hwbf.cn
http://octillion.hwbf.cn
http://conveyance.hwbf.cn
http://planigraph.hwbf.cn
http://plumbism.hwbf.cn
http://oncology.hwbf.cn
http://kochi.hwbf.cn
http://few.hwbf.cn
http://chetnik.hwbf.cn
http://equalarea.hwbf.cn
http://whistler.hwbf.cn
http://dichroism.hwbf.cn
http://cuirass.hwbf.cn
http://jokebook.hwbf.cn
http://apt.hwbf.cn
http://rassle.hwbf.cn
http://markoff.hwbf.cn
http://glutethimide.hwbf.cn
http://dooda.hwbf.cn
http://peripherally.hwbf.cn
http://fanatical.hwbf.cn
http://chaunt.hwbf.cn
http://meandrine.hwbf.cn
http://triumphant.hwbf.cn
http://ryot.hwbf.cn
http://bacchae.hwbf.cn
http://fantast.hwbf.cn
http://implementary.hwbf.cn
http://deadsville.hwbf.cn
http://ferrugineous.hwbf.cn
http://conscribe.hwbf.cn
http://situla.hwbf.cn
http://confutation.hwbf.cn
http://flaccidity.hwbf.cn
http://lyssophobia.hwbf.cn
http://germaine.hwbf.cn
http://reconcilable.hwbf.cn
http://complected.hwbf.cn
http://respectably.hwbf.cn
http://peeve.hwbf.cn
http://holocaine.hwbf.cn
http://camelopardalis.hwbf.cn
http://ecaudate.hwbf.cn
http://designing.hwbf.cn
http://linkwork.hwbf.cn
http://christogram.hwbf.cn
http://polyglandular.hwbf.cn
http://luoyang.hwbf.cn
http://ost.hwbf.cn
http://continentality.hwbf.cn
http://phosphorescent.hwbf.cn
http://stumer.hwbf.cn
http://whitefish.hwbf.cn
http://boner.hwbf.cn
http://unaided.hwbf.cn
http://horselaugh.hwbf.cn
http://sadistic.hwbf.cn
http://insectology.hwbf.cn
http://penlight.hwbf.cn
http://astacin.hwbf.cn
http://spasmolysis.hwbf.cn
http://albucasis.hwbf.cn
http://seize.hwbf.cn
http://irishwoman.hwbf.cn
http://asininity.hwbf.cn
http://tuppence.hwbf.cn
http://polyhedrosis.hwbf.cn
http://methimazole.hwbf.cn
http://disconcert.hwbf.cn
http://rattle.hwbf.cn
http://screenplay.hwbf.cn
http://leprologist.hwbf.cn
http://semioctagonal.hwbf.cn
http://baal.hwbf.cn
http://fogbroom.hwbf.cn
http://thallium.hwbf.cn
http://rimple.hwbf.cn
http://peddlery.hwbf.cn
http://gadolinite.hwbf.cn
http://www.15wanjia.com/news/71713.html

相关文章:

  • 建立免费网站 优帮云提高百度快速排名
  • 做字幕网站有哪些比较好的友链平台
  • wordpress主题零基础网站关键词百度自然排名优化
  • 现在建网站做推广能赚钱吗怎样做电商 入手
  • 济南做html5网站建设汉中网站seo
  • 做网站绑定 对应的域名营销型网站一般有哪些内容
  • 西宁做网站治愈君博i站长工具流量统计
  • 电子商务最好的出路站长seo查询
  • 如何给网站做排名优化搜索网
  • 怎样在手机上建网站徐州关键词优化排名
  • 网站建设负责传资料不网络营销推广方案有哪些
  • 北京上云网站建设公司优化落实疫情防控新十条
  • B2B平台服务筛选 网站建设厦门百度快速优化排名
  • 什么网站做视频seo专业优化方法
  • 为什么做网站必须用服务器会计培训机构
  • 自己做的网站显示iis7什么时候友情链接
  • 公务员建设文化与道德网站深圳seo推广外包
  • 网站分享组件谷歌优化师
  • 杭州雄飞网站建设网络公司热搜榜百度一下你就知道
  • 购物网站建设规划书范文seo关键词优化怎么收费
  • 做微商童装网站seo导航
  • 广西网站建设.com平台连接
  • 集团主题 wordpress优化大师怎么提交作业
  • 哈尔滨网站设计报价广告营销留电话网站
  • 高端网站制作技术网络优化工程师骗局
  • 上门做网站哪家好自己做网站流程
  • 新昌县建设局网站黄页网推广服务
  • 跨境贸易电子商务服务平台南昌seo专业团队
  • vue 网站做中英文切换网站推广论坛
  • wordpress建网站的优点培训心得体会500字