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

做购物网站的业务游戏推广怎么做引流

做购物网站的业务,游戏推广怎么做引流,web个人博客网站,个人网站域名评判一个排序算法时除了时间复杂度和空间复杂度之外还要考虑对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.15wanjia.com/news/19655.html

相关文章:

  • 免费注册购物网站全国疫情一览表
  • 杭州做网站哪家最好互联网推广营销
  • 最新网站建设常见问题企业seo职位
  • 提供手机网站怎么做百度搜索推广开户
  • 网站登录如何做百度推广客服电话
  • 佛山制作做网站如何做seo
  • 印度电商平台网站建设策划seo搜索引擎优化方法
  • 做戒指网站的logo照片百度有几种推广方式
  • 玉林做绿化苗木网站的是哪个单位互联网运营
  • 跨境电商网站开发长沙seo关键词排名
  • 沈阳网站建设服务平台搜索引擎网络推广方法
  • 做网站开发的商标注册建站网站
  • 网站搜索引擎拓客百度seo优化按年收费
  • 山东做网站的公司网络营销专业技能
  • 郴州市北湖区seo排名优化软件有用吗
  • 最好科技广州网站建设品牌营销方案
  • 公司怎么制作网站关键词首页排名优化价格
  • 网站备案需要年检吗全网搜索
  • php旅游网站开发背景网络营销专业的就业方向
  • 做网站域名解析华夏思源培训机构官网
  • 网站备案更换市场营销方案
  • 馆陶网站建设公司北京网
  • 进行企业网站建设规划站外推广
  • 模板自助建站网站制作百度广告多少钱
  • 团购网站设计竞价推广哪里开户
  • 用帝国做的网站只收录首页竞价运营是做什么的
  • 网站开发平台软件百度推广如何代理加盟
  • 怎样查网站备案网络营销师
  • 免费做网站排名网络营销品牌推广
  • 襄阳网站建设多少钱开发软件app需要多少钱