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

全球网站访问量排名wordpress 4.9 google

全球网站访问量排名,wordpress 4.9 google,织梦模板 行业网站,新手学做网站看什么书引言:归并排序跟快速排序一样,都运用到了分治的算法,但是归并排序是一种稳定的算法,同时也具备高效,其时间复杂度为O(N*logN) 算法图解: 然后开始归并: 就是这个思想,拆成最小子问题…

引言:归并排序跟快速排序一样,都运用到了分治的算法,但是归并排序是一种稳定的算法,同时也具备高效,其时间复杂度为O(N*logN)

算法图解: 

 

 然后开始归并:

 

 就是这个思想,拆成最小子问题后再进行归并(两个有序数组的排序问题)

下面是代码:

 

void merge_sort(int* arry, int size) {//保证接口一致性,再调子函数assert(arry);int* tmp = (int*)malloc(sizeof(int) * size);_merge(arry, 0, size - 1,tmp);//_merge2(arry, 0, size - 1, tmp);free(tmp);
}
void _merge(int* arry, int left, int right, int* tmp) {if (right - left <= 0)return;int mid = left + (right - left >> 1);//找到中间值//递归,拆分子问题_merge(arry, left, mid, tmp);_merge(arry, mid + 1, right, tmp);merge_arry(arry, left, mid, mid + 1, right, tmp);
}
void merge_arry(int* arry, int begin1, int end1, int begin2, int end2, int* tmp) {int index = begin1;int left = begin1;int right = end2;while (begin1 <= end1 && begin2 <= end2) {if (arry[begin1] < arry[begin2]) {tmp[index++] = arry[begin1++];}else {tmp[index++] = arry[begin2++];}}if (begin1 <= end1) {for (int i = begin1; i <= end1; i++) {tmp[index++] = arry[i];}}else {for (int i = begin2; i <= end2; i++) {tmp[index++] = arry[i];}}//再拷贝回原数组for (int i = left; i <= right; i++) {arry[i] = tmp[i];}
}

上面是它的递归实现,那么思考如何使用非递归实现呢?

 

 同时要控制grap的循环次数,grap小于等于数组大小即可

下面是代码:

void _merge2(int* arry, int left, int right, int* tmp) {int grap = 1;while (grap<=right+1) {for (int i = left; i <= right; i += 2 * grap) {int begin1 = i, end1 = i + grap - 1;int begin2 = i + grap, end2 = i + 2 * grap - 1;if (end1 > right)end1 = right;if (end2 > right)end2 = right;merge_arry(arry, begin1, end1, begin2, end2, tmp);}grap = grap * 2;}}
void merge_sort(int* arry, int size) {assert(arry);int* tmp = (int*)malloc(sizeof(int) * size);//_merge(arry, 0, size - 1,tmp);_merge2(arry, 0, size - 1, tmp);free(tmp);
}

http://www.yayakq.cn/news/706484/

相关文章:

  • 湖北专业网站建设耗材网络营销的盈利模式
  • 网站软件定制开发公司网站认证收费吗
  • 做网站需要什么资金建网站所需材料
  • 企业门户网站建设案例中国网建
  • 国内知名网站建设排名深圳找工作的网站
  • 如何撤销网站上信息上海的公司排行榜
  • 国外创意型网站设计外贸seo网站建站
  • 网站建设业务文案php个人网站模板
  • 网站什么语言好上海人才中心
  • 合肥网站建设公司排名c 网站开发教程
  • word 没有安装wordpress北京seo服务商
  • 房屋室内装修设计seo竞争对手网站分析
  • 建站本wordpress 改 名字
  • 网站项目建设计划wordpress插件使用模板
  • 网站制作网免费北京专业网页设计制作公司
  • 建立网站批复东营最新通知
  • 模仿茶叶的网站制作怎么开亚马逊跨境电商店铺
  • 轻淘客网站建设wordpress 微博模板
  • 代理机构做的网站找不到人了怎么办把开发的网站让外网能访问要怎么做
  • 校园网站设计开题报告网站seo方案
  • 建网站 xyzwordpress discuz 统一账号
  • 网站制作流程有哪些ip地址信息备案管理系统
  • 做网站需要做哪些东西汕头网站制作找谁
  • 网站开发组合 lamp网站建设和管理情况调查表
  • 莱芜网站建设服务2021年世界500强榜单
  • 怎样建立企业网站网站开发寄什么科目
  • 企业建站系统263邮箱企业邮箱入口
  • 济南高新区网站建设公司免费网站空间哪个好
  • 之前做的网站说要升级wordpress无觅
  • 陕西省咸阳市建设银行网站在线留电话的广告