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

学网站开发工作好找吗视觉设计师和平面设计师的区别

学网站开发工作好找吗,视觉设计师和平面设计师的区别,网站建设策略阿里巴巴,校园文化建设网站素材评判一个排序算法时除了时间复杂度和空间复杂度之外还要考虑对cache的捕获效果如何,cache友好的排序算法应该对数据的访问相对集中,快速排序相较于堆排序优点就是在于对cache的捕获效果好。 堆排序 时间复杂度:O(n log n &#xf…

评判一个排序算法时除了时间复杂度和空间复杂度之外还要考虑对cache的捕获效果如何,cache友好的排序算法应该对数据的访问相对集中,快速排序相较于堆排序优点就是在于对cache的捕获效果好。

堆排序
时间复杂度:O(n log n )
空间复杂度 O(1) 不稳定
cache不友好

void func(vector<int>&nums){function<void(int,int)>merge=[&](int start,int end){int child=start;int father=2*child+1;while(child<=end){if(child+1<=end&&nums[child+1]>nums[child]) child++;if(nums[father]<nums[child]){swap(nums[father],nums[child]);child=father;father=2*child+1;}else break;}};int n=nums.size();for(int i=n/2-1;i>=0;i--){merge(i,n-1);}for(int i=n-1;i>=0;i--){swap(nums[0],nums[i]);merge(0,i-1);}
}

快速排序
时间复杂度O(n log n)- O(n^2)
空间复杂度 O(1)
cache友好

void func(vector<int>&nums,int start,int end){if(start>=end) return;int s=start-1;int e=end+1;int val=nums[start];//这里选值可以优化int index=start;while(index<e){if(nums[index]==val) {index++;}else if(nums[index]<val){swap(nums[index],nums[++s]);index++;}else swap(nums[index],nums[--e]);}func(nums,start,s);func(nums,e,end);
}

归并排序
时间复杂度 O(n log n)
空间复杂度 O(n)
cache友好

void func(vector<int>&nums,int start,int end){if(start>=end) return;int mid=(start+end)/2;func(nums,start,mid);func(nums,mid+1,end);vector<int>tmp(end-start+1);int start1=start,start2=mid+1;int index=0;while(start1<=mid&&start2<=end){int val1=start1<=mid?nums[start1]:INT_MAX;int val2=start2<=end?nums[start2]:INT_MAX;if(val1>val2) tmp[index++]=nums[start2++];else tmp[index++]=nums[start1++];}for(int i=start;i<=end;i++) nums[i]=nums[i-start];
}

选择排序
时间复杂度 O(n^2)
空间复杂度 O(1)
cache不友好

void func(vector<int>&nums){int n=nums.size();for(int i=1;i<n;i++){int index=0;for(int j=0;j<n-i;j++){if(nums[index]>nums[j]) index=j;}swap(nums[index],nums[n-i]);}
}

插入排序
时间复杂度 O(n^2)
空间复杂度 O(1)
cache友好

void func(vector<int>&nums){int n=nums.size();for(int i=1;i<n;i++){int val=nums[i],j=i-1;while(j>=0&&nums[j]>val){nums[j+1]=nums[j--];}nums[j+1]=val;}
}

冒泡排序
时间复杂度 O(n^2)
空间复杂度 O(1)
cache不友好

void func(vector<int>&nums){int n=nums.size();for(int i=0;i<n;i++){bool b=true;for(int j=i+1;j<n;j++){if(nums[i]>nums[j]) {b=false;swap(nums[i],nums[j]);}}if(b) break;}
}
http://www.hyszgw.com/news/56774.html

相关文章:

  • 建设网站公司中游戏网站开发计划书
  • h5网站开发用什么软件制作郑州市精神文明建设 网站
  • 企业网站推广的实验内容承德建设网站公司
  • 网站开发公司怎么接单子电商网站推广
  • 房产网站开发文档网站设计开发项目书
  • 公司网站与营销网站的区别电子商务网站建设规划方案
  • 网站开发语言分辨外包公司和劳务派遣哪个好一点
  • ps如何做psd模板下载网站丹阳网站建设要多少钱
  • 河北城乡建设学校网站学室内设计网站
  • 网站建设与管理方案的总结湛江设计公司
  • 域名买完了网站建设网站建设合同要求
  • 快站科技动画设计师是干什么的
  • 一个网站一个月发多少外链比较合适校园网站开发设计报告
  • 济宁市兖州区建设局网站打开网页
  • 鲜花商城网站建设如皋网站制作
  • 哦咪咖网站建设中铁建设集团有限公司招标平台
  • 网站建设优化哪家专业做网站需要购买什么
  • 做网站大概要多少钱南通通州住房和城乡建设网站
  • 滁州市城市建设投资有限公司网站中国做铁塔的公司网站
  • 宁波网站建设推荐荣盛网络好船山网站建设
  • 宝塔面板装不了wordpress做搜狗网站优化排名
  • 如何自建网站做淘客手机百度关键词排名 网站优化软件
  • 网站设计介绍怎么写建设门户网站价格
  • 网站上的文章用秀米可以做吗wordpress没有安装主题选项卡
  • 淄博什么兼职的网站建设做网络销售都做什么网站
  • 如何自己做网站推广淘宝客wordpress分类添加html
  • 做网站找毛叶子歌网站制作排行榜
  • 建设网站哪些好网络营销最火的案例
  • 长沙网站建设流程深圳软件公司开发
  • 万基城市建设有限公司网站wordpress 调试 输出