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

杭州雄飞网站建设网络公司东莞谷歌推广公司

杭州雄飞网站建设网络公司,东莞谷歌推广公司,武汉做网站知名的公司有哪些,服装设计手绘QuickSelect : 快速选择,在线性时间内查找第k个位置的元素。算法目的: 数组长度为n,查找第k个元素复杂度:o(N)算法:1,从数组中随机选定一个元素x,大于x的分成一组,记做smaller&#…

QuickSelect : 快速选择,在线性时间内查找第k个位置的元素。

算法目的: 数组长度为n,查找第k个元素

复杂度:o(N)

算法:

1,从数组中随机选定一个元素x,大于x的分成一组,记做smaller,小于x的分成一组,记做larger

2,如果 smaller的长度等于k-1,说明x是第k个位置的元素

3,如果 smaller的长度大于等于k,从smaller中找到第k个元素

4,如果smaller的长度 + 1 小于k,从larger中找第k-1 - smaller长度位置的元素

算法的最大比较次数不超过4n

Java 代码:

package alg.analysis;

import java.util.ArrayList;

import java.util.List;

public class QuickSelect {

public static int quickSelect(List datas, int k){

assert (k>=1&&k<=datas.size());

List smallers = new ArrayList();

List largers = new ArrayList();

int valueMark = datas.get(0);

for (int i=1;i

if(datas.get(i)>valueMark){

largers.add(datas.get(i));

}

if(datas.get(i)<=valueMark){

smallers.add(datas.get(i));

}

}

if (smallers.size() >= k) {

return quickSelect(smallers, k);

}

if (smallers.size() +1 < k) {

return quickSelect(largers, k-smallers.size()-1);

}

return valueMark;

}

public static void main(String []args){

List datas = new ArrayList();

datas.add(3);

datas.add(2);

datas.add(1);

datas.add(7);

datas.add(6);

datas.add(5);

datas.add(4);

int fifth = quickSelect(datas, 5);

System.out.println(fifth);

}

}

http://www.lbrq.cn/news/2383759.html

相关文章:

  • 网站建设前台后台设计外贸推广是做什么的
  • godaddy网站建设教程优秀软文范例100字
  • 建设六马路小学 网站千锋教育官方网
  • 什么网站值得做河南seo网站多少钱
  • 自己有域名要怎么制作网站电商运营培训哪个机构好
  • 网站建设丨选择金手指排名15高端网站建设公司
  • 福州 网站建设百度竞价优化排名
  • 如何快速建立一个网站必应搜索网站
  • 黄冈app推广服务机构seo排名优化公司
  • 阿里云做网站官网跨境电商营销推广
  • 宜昌永东建设网站营销策略的思路
  • 大连做网站海外推广渠道都有哪些
  • ssh网站开发公司品牌宣传
  • 建外贸网站用什么主机百度seo效果
  • 手机网站怎么做微信登陆seo诊断专家
  • 国内优秀app界面设计案例专业seo公司
  • 做网站建设公司赚钱网络推广渠道都有哪些
  • 珠海专业网站制作百度一下官网
  • 外贸网站域名能用cn做后缀吗免费制作链接
  • 做好的网站百度推广客服电话24小时
  • 重庆网站建设cqhtwl百度搜索排名优化
  • 北京哪家做网站seo怎么弄
  • 做网上任务赚钱的网站市场seo是什么
  • 泰国如何做网站推广万网官网首页
  • 网络搭建与维护是什么广州百度网站排名优化
  • 网站备案 暂住证企业营销案例
  • 做知识产权相关的网站百度推广账号登陆入口
  • 湘潭做网站推荐磐石网络网络优化的流程
  • 专业做公墓 陵园的网站优化落实疫情防控新十条
  • 推荐企业门户网站建设2022近期时事热点素材摘抄
  • 柴油机活塞cad【4张】三维图+设计说明书
  • camera2 outputbuffer的流转过程
  • python网络爬虫(第三章/共三章:驱动浏览器窗口界面,网页元素定位,模拟用户交互(输入操作、点击操作、文件上传),浏览器窗口切换,循环爬取存储)
  • Linux C 进程间通信基本操作
  • Redisson 分布式锁
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十一课——高斯下采样后图像还原的FPGA实现