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

建外做网站的公司工程公司绩效考核

建外做网站的公司,工程公司绩效考核,做网站月入5万,事业单位建立网站在此之前我们已经介绍过归并排序和快速排序#xff1a;浅谈归并排序与快速排序#xff0c;但其中的实现都是基于递归的。本文将重新温故这两种算法并给出基于迭代的实现。 目录 1. 归并排序1.1 基于递归1.2 基于迭代 2. 快速排序2.1 基于递归2.2 基于迭代 1. 归并排序 1.1 基…在此之前我们已经介绍过归并排序和快速排序浅谈归并排序与快速排序但其中的实现都是基于递归的。本文将重新温故这两种算法并给出基于迭代的实现。 目录 1. 归并排序1.1 基于递归1.2 基于迭代 2. 快速排序2.1 基于递归2.2 基于迭代 1. 归并排序 1.1 基于递归 归并排序的核心是二路归并实现二路归并需要一个额外的辅助数组因此空间复杂度是 O ( n ) O(n) O(n)。 void merge(vectorint a, int l, int mid, int r, vectorint tmp) {int i l, j mid 1, k l;while (i mid j r) {if (a[i] a[j]) tmp[k] a[i];else tmp[k] a[j];}while (i mid) tmp[k] a[i];while (j r) tmp[k] a[j];for (int i l; i r; i) a[i] tmp[i]; }该函数会对数组 a 的 [l, mid] 和 [mid 1, r] 两部分进行二路归并其中辅助数组 tmp 的大小与 a 相同。 有了 merge 函数我们就可以很方便的实现归并排序了 void merge_sort(vectorint a, int l, int r, vectorint tmp) {if (l r) return;int mid l r 1;merge_sort(a, l, mid, tmp), merge_sort(a, mid 1, r, tmp);merge(a, l, mid, r, tmp); }1.2 基于迭代 很明显基于递归的实现是自顶向下的而基于迭代的实现是自底向上的。 我们可以先枚举区间长度再枚举区间左端点。一开始每个区间的长度是 1 1 1我们每次对相邻的两个区间进行二路归并每归并一次区间的长度就是原先的两倍所以枚举区间长度时变量 len 的更新方式为 len * 2。 对于区间左端点每合并完两个区间后左端点就要更新成下下个区间如下图所示 还需保证 mid n - 1即 l n - len。 void merge_sort(vectorint a) {int n a.size();vectorint tmp(n);for (int len 1; len n; len * 2) {for (int l 0; l n - len; l 2 * len) {int mid l len - 1;int r min(l 2 * len - 1, n - 1);merge(a, l, mid, r, tmp);}} }归并排序的时间复杂度是 O ( n log ⁡ n ) O(n\log n) O(nlogn)无论是递归还是迭代空间复杂度都是 O ( n ) O(n) O(n)。 2. 快速排序 2.1 基于递归 void quick_sort(vectorint a, int l, int r) {if (l r) return;int mid l r 1;int i l - 1, j r 1, x a[mid];while (i j) {while (a[i] x);while (a[--j] x);if (i j) swap(a[i], a[j]);}quick_sort(a, l, j), quick_sort(a, j 1, r); }2.2 基于迭代 void quick_sort(vectorint a, int l, int r) {if (l r) return;stackpairint, int stk;stk.emplace(l, r);while (!stk.empty()) {auto [l, r] stk.top();stk.pop();if (l r) {int mid l r 1;int i l - 1, j r 1, x a[mid];while (i j) {while (a[i] x);while (a[--j] x);if (i j) swap(a[i], a[j]);}stk.emplace(l, j);stk.emplace(j 1, r);}} }时间复杂度是 O ( n log ⁡ n ) O(n\log n) O(nlogn)空间复杂度是 O ( log ⁡ n ) O(\log n) O(logn)。
http://www.w-s-a.com/news/443450/

相关文章:

  • 青海省教育厅门户网站wordpress core
  • idc科技公司网站模板蜜雪冰城网络营销案例分析
  • 微信与网站对接手机软件怎么做
  • 户县网站建设珠海专业制作网站
  • 麦当劳的网站优化建议猎头公司工作怎么样
  • 合肥地区网站制作网页浏览器打不开
  • 做网站的不给ftp网站如何做触屏滑动
  • wordpress statraq重庆百度优化
  • 企业网站官网英文WordPress站点切换为中文
  • 服装公司网站定位一点号自媒体平台
  • 密云微网站建设汽车之家手机官网首页
  • 多语言外贸网站制作苏州建设网站微信公众号
  • 用wordpress建站学什么百度给企业做网站吗
  • 福建城乡建设网站做数码测评的网站
  • 东海县建设局网站wordpress 好用的主题
  • 网站图片设计制作制作一个门户网站需要多少钱
  • 虚拟币交易网站源码自己给网站做支付接口
  • 免费的seo网站在线 crm
  • 绍兴市高速公路建设指挥部网站网站主页和子页风格如何统一
  • 获取网站状态网站租金可以做办公费吗
  • 网站开发执行什么标准号wordpress主题 表白
  • 杭州网站推广与优化凡科网是免费的吗
  • 公司网站的重要性门户网站推广介绍方案
  • 做金融网站看那些素材江门网红打卡景点蓬江区
  • 饮食网站模板建网站中企动力优
  • 郑州 制造 网站东平企业建站公司
  • 天津设计师网站大全展示型网站搭建
  • 南宁网站建设 传导网站开发平台开发公司
  • 网站建设好处上海建设工程网站
  • 黑河哈尔滨网站建设太原网站制作定制开发