博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法起步之选择算法
阅读量:4709 次
发布时间:2019-06-10

本文共 601 字,大约阅读时间需要 2 分钟。

原文:

          什么是选择算法,其实很简单,从一堆数里选择最大值或最小值就是选择算法。这样一说大家是不是觉得太简单了,其实选择算法,选择并不只是选择最大或是最小,相信这样的算法大家都能写的出来,一趟遍历就可以得到,但是选择算法是找出第几小或者是第几大的数,这样是不是没有刚才说的那么简单了呢。但是他们期望的时间复杂度却都是相同的都是O(n),简单的说就是希望一趟遍历就可以得到第几小第几大的数,其实选择算法跟上一篇我们说的额快排在实现上是有很多相似的地方的。

public class Select {	public int randomselect(int[] map,int start,int end,int loc){		int p=getPlocation(map, start, end);		if(p>loc){			return randomselect(map, start, p-1, loc); 		}		if(p
        看了代码,会发现其实跟快排是很相似的,基本就是完全一样,只是选择算法只处理一侧,而快排是两侧都处理。
         友情提示:转载请注明出处
【作者:idlear  博客:
idlear

posted on
2014-02-23 15:41 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/3562013.html

你可能感兴趣的文章
windows下安装MySQL
查看>>
urllib 库的基本使用
查看>>
socket.io使用纪实
查看>>
Java基础知识总结(三)
查看>>
windows 下配置ndk环境,无需cygwin
查看>>
flash基本操作
查看>>
工厂模式
查看>>
ctags 寻找方法定义处
查看>>
Laravel 5.2 教程 - 邮件
查看>>
SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数
查看>>
[再寄小读者之数学篇](2014-11-14 矩阵的应用: 有限几何)
查看>>
[Everyday Mathematics]20150218
查看>>
单链表的翻转,插入,删除,遍历操作
查看>>
Helm介绍
查看>>
重提基数排序
查看>>
【开源项目】扫雷
查看>>
关于三种主流WEB架构的思考
查看>>
学习进度表
查看>>
【软件工程】代码复审与子数组最大和线性算法寻找问题
查看>>
JSON详解
查看>>