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

怎样给网站做排名优化百度一下你就知道了主页

怎样给网站做排名优化,百度一下你就知道了主页,做展会怎么引流到自己的网站,网站分析及推广方案归并排序 题目1#xff1a;归并排序 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行#xff0c;第一行包含整数 n。 第二行包含 n 个整数#xff08;所有整数均在 1∼109 范围…归并排序 题目1归并排序 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行第一行包含整数 n。 第二行包含 n 个整数所有整数均在 1∼109 范围内表示整个数列。 输出格式 输出共一行包含 n 个整数表示排好序的数列。 数据范围 1≤n≤100000 输入样例 5 3 1 2 4 5 输出样例 1 2 3 4 5 #includeiostream #includecstring #includealgorithmusing namespace std;const int N 100010;int q[N],tmp[N];int n;void merge_sort(int q[], int l, int r){if(lr) return;int mid lr 1;merge_sort(q,l,mid)merge_sort(q,mid1,r);//i和j相当于一个双指针指向当前需要排序的数组的两个部分。int il,jmid1;int k0;while(imid jr){if(q[i]q[j]) tmp[k] q[i];else tmp[k] q[j];}while(imid) tmp[k] q[i];while(jr) tmp[k] q[j];//注意这里的l和r是相对于原始的q数组的位置而tmp保存的值只是当前指针指向的这两个部分的排好序的值。for(int il,j0;ir;i,j) q[i]tmp[j]; }int main(){int n;cinn;for(int i0;in;i) scanf(%d, q[i]);merge_sort(q,0,n-1);for(int i0; in;i) printf(%d ,q[i]);return 0;} 算法思想 归并排序也是基于分治的思想但是与快速排序不同的是归并排序是先分治再排序先递归再比较。而快速排序是先排序再分治先比较再递归从总体来说归并排序的计算是自底向上的而快速排序的计算是自顶向下的。由于归并排序在排序的过程中对数组的划分是固定的快速排序不是固定的与选择的基准点有关所以归并排序的复杂度是固定的。 复杂度分析归并排序Merge Sort是一种典型的分治算法其时间复杂度和空间复杂度如下 时间复杂度最好情况下归并排序的时间复杂度为O(nlogn)最坏和平均情况下归并排序的时间复杂度也为O(nlogn)。 空间复杂度归并排序的空间复杂度为O(n)因为在合并过程中需要额外的空间存储左右两个子序列的元素。 具体的分析过程如下 1.归并排序首先将待排序序列均分为两个子序列然后分别对这两个子序列进行排序最后将排序好的子序列进行合并。这个过程可以递归进行直到子序列的长度为1此时可以认为子序列已经排好序。 2.在最好情况下即待排序序列已经排好序时每次递归的两个子序列都是有序的。这时归并排序的时间复杂度为O(n)。因为无论序列长度为多少都只需要进行一次合并操作。 3.在最坏和平均情况下即待排序序列完全无序或部分有序时每次递归的两个子序列都需要进行排序。这时归并排序的时间复杂度为O(nlogn)。因为每次递归都需要将序列均分为两个子序列然后对这两个子序列进行排序。这个过程可以看作是对元素数量的对数级别的递归调用。 在空间复杂度方面由于归并排序需要额外的空间存储左右两个子序列的元素因此空间复杂度为O(n)。 题目2归并排序的应用-逆序对的数量 给定一个长度为 n 的整数数列请你计算数列中的逆序对的数量。 逆序对的定义如下对于数列的第 i 个和第 j 个元素如果满足 ij 且 a[i]a[j]则其为一个逆序对否则不是。 输入格式 第一行包含整数 n表示数列的长度。 第二行包含 n 个整数表示整个数列。 输出格式 输出一个整数表示逆序对的个数。 数据范围 1≤n≤100000 数列中的元素的取值范围 [1,109]。 输入样例 6 2 3 4 5 6 1 输出样例 5 //在分治后的每一层合并中顺便求出逆序对数量是这个题想法的由来归并排序分治我们求的是从小到 //大的顺序我们所求的逆序对恰好是逆序数量与归并排序不谋而合。#includeiostream #includecstring #includealgorithm #includecstdiousing namespace std;const int N 100000;int q[N],f[N];long long res0;long long merge_sort(int l,int r){if(lr) return 0;int mid(lr)1;resmerge_sort(l,mid)merge_sort(mid1,r);int k0,il,jmid1;while(imidjr){if(q[i]q[j]) f[k]q[i];else{//当前i后面的数都比j大而且每个数组段在排序的过程中都是排好序的由更小的数组段合并来的所以逆序数加上mid-i1。resmid-i1;f[k]q[j];}}while(imid) f[k]q[i];while(jr) f[k]q[j];for(int il,j0;ir;i,j) q[i]f[j];return res; }int main(){int n;cinn;for(int i0;in;i) scanf(%d,q[i]);merge_sort(0,n-1);printf(%lld,res);return 0; }
http://www.zqtcl.cn/news/681335/

相关文章:

  • 旅游网站建设公司crm客户管理系统模板
  • 哪个网站有免费的模板阿里云上如何用iis做网站
  • 中山优化网站门户网站建设jz190
  • 湖州服装网站建设网站备案和域名备案区别
  • 网站开发好学嘛网络安全工程师年薪
  • 17网站一起做网店睡衣网线制作流程
  • 广告网站设计公司好吗网站页面设计主要包括
  • 网站的做重庆市建设工程造价信息表
  • 建网站跟建网店的区别怎样营销建设网站
  • 医院做网站的风格乐清网站建设哪家好
  • 手机商城网站方案如何自己搭建微信小程序
  • 做影视免费网站违法吗青岛快速排名优化
  • 网站建设在电子商务中的作用的看法360地图怎么添加商户
  • 网站域名备案与不备案的区别wordpress 注册审核
  • 大学生做企业网站网页设计免费模板情侣
  • 商城网站建设教程网站开发支付宝
  • 广安网站设计快递加盟代理
  • 建设网站的建筑公司宿迁华夏建设集团网站
  • 百度推广网站建设费利用阿里云虚拟主机做网站
  • 吐槽做网站论坛模板
  • 广水住房和城乡建设部网站简单网页制作代码html
  • 建设网站找什么仿门户网站
  • 贵阳手机网站建设公司沈阳图书设计公司
  • 哪里做网站比较好在哪里注册域名
  • 做搜狗pc网站软件下载广告设计与制作学什么
  • 软件工程 旅游网站开发er图昆山网站建设网站建设
  • 网站下载的网页修改下面版权所有企业建设营销型网站的目的有
  • 官方重大项目建设库网站手机ps软件如何做ppt下载网站
  • 全国加盟网站大全海尔网站建设目标
  • wordpress 企业站模版自己做视频网站可以吗