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

牛逼的网站设计360优化大师app

牛逼的网站设计,360优化大师app,wordpress投稿系统,做电子外贸网站归并排序 特点: 高效稳定时间复杂度最佳/平均/最差: O(N log N) 递归算法有专门的公式来计算时间复杂度 空间复杂度 O(N) 因为开辟了临时的tem_arr数组 一个静态的演示图(from leetcode) 一个动态的演示图 合并实现使用merge函数 inline void merge(v…

归并排序

特点:

  • 高效
  • 稳定
  • 时间复杂度最佳/平均/最差: O(N log N)

    递归算法有专门的公式来计算时间复杂度

  • 空间复杂度 O(N)

    因为开辟了临时的tem_arr数组

一个静态的演示图(from leetcode)

在这里插入图片描述

一个动态的演示图

在这里插入图片描述

合并实现使用merge函数

inline void merge(vector<int>& arr, int l, int r) {vector<int> tem_arr;int m = (l + r) >> 1;//1 2 3 4  2 4 5 8//0 1 2 3  4 5 6 7//l		m   	 r//i		   jint i = l, j = m+1;while (i <= m && j <= r) {if (arr[i] <= arr[j]) tem_arr.push_back(arr[i++]);else tem_arr.push_back(arr[j++]);}while (i <= m) tem_arr.push_back(arr[i++]);while (j <= r) tem_arr.push_back(arr[j++]);int k = l;for (auto n : tem_arr) {arr[k++] = n;}
}

mergeSort 函数

  • 利用merge()方法来进行合并
  • 体现了分而治之的算法思想
  • 需要掌握递归的思维
inline void mergeSort(vector<int>& arr, int l, int r) {if (l == r) return;       //如果边界重合返回int m = (l + r) >> 1;     //定义一个中点mergeSort(arr, l, m);     //将问题分成左边部分mergeSort(arr, m+1, r);   //将问题分成右边部分merge(arr, l, r);         //调用merge()来进行合并
}

完整代码

#include <iostream>
#include <vector>
#define test_merge
using namespace std;
inline void merge(vector<int>& arr, int l, int r);inline void mergeSort(vector<int>& arr, int l, int r) {if (l == r) return;int m = (l + r) >> 1;mergeSort(arr, l, m);mergeSort(arr, m+1, r);merge(arr, l, r);
}inline void merge(vector<int>& arr, int l, int r) {vector<int> tem_arr;int m = (l + r) >> 1;//1 2 3 4  2 4 5 8//0 1 2 3  4 5 6 7//l		m   	 r//i		   jint i = l, j = m+1;while (i <= m && j <= r) {if (arr[i] <= arr[j]) tem_arr.push_back(arr[i++]);else tem_arr.push_back(arr[j++]);}while (i <= m) tem_arr.push_back(arr[i++]);while (j <= r) tem_arr.push_back(arr[j++]);int k = l;for (auto n : tem_arr) {arr[k++] = n;}
}int main() {ios::sync_with_stdio(false);//加速出入输出流
#ifdef test_merge
// 	测试 merge 函数是否起作用vector<int> arr = {7, 3, 2, 6, 0, 1, 5, 4};mergeSort(arr, 0, arr.size() - 1);for (auto i : arr) {cout << i << ' ';}
#endif
}
http://www.hkea.cn/news/48927/

相关文章:

  • 外贸五金网站建设网站制作优化排名
  • 义乌网站建设多少钱网络平台营销
  • 怀仁有做网站的公司吗磁力搜索引擎2023
  • 建站行业都扁平化设计合肥网站推广公司哪家好
  • 做企业网站织梦和wordpress哪个好百度指数查询工具app
  • 郑州网站服务公司优化神马排名软件
  • 茶叶网站建设的优势南宁seo外包平台
  • 高古楼网站 做窗子北京seo技术交流
  • 南阳建设网站制作网络最有效的推广方法
  • 纯静态网站seoseo排名优化北京
  • 开封网站建设哪家好指数计算器
  • 网站开发 架构石家庄seo关键词排名
  • 可以免费做商业网站的cms百度seo霸屏软件
  • 哪家网站建设专业快速建站教程
  • 坪山网站建设行业现状优化seo方案
  • 做网站需要架构师吗网站平台有哪些
  • 网站建设丿选择金手指15凡科建站官网
  • 可以做外国网站文章武汉企业seo推广
  • 天津网站建设公司最好太原做网站哪家好
  • 网站代下单怎么做百度指数数据分析平台入口
  • 淘宝做动效代码的网站seo的优化方向
  • 番禺建网站公司网站搜索工具
  • 安徽万振建设集团网站长春网站推广公司
  • 网站怎么制作 推广seo超级外链工具免费
  • 中小学网站建设探讨东莞seo整站优化火速
  • php是网站开发的语言吗企业网站的作用
  • 网站站外优化怎么做企业推广app
  • 拉趣网站是谁做的威海网站制作
  • 做宣传海报的网站百度导航2023年最新版
  • 湖南做网站 磐石网络windows优化大师官方免费