java查找算法(四)--随机查找(Randomized-Select)

本文深入探讨了Java中随机查找算法Randomized-Select的原理和实现,详细解析了如何在未排序的数组中高效地找到第k小(或大)的元素。通过对算法步骤的阐述,帮助读者理解随机化选择在查找操作中的优势。
摘要由CSDN通过智能技术生成
/*
 * 以快排为模型,以第一个数为基准对数组进行划分,找到第一个数的正确位置
 * 比较a[low]=pivot 值得位置与 k 的大小,确定继续在左右还是右边递归查找
 * 平均时间复杂度为 O(n)
 * */

public static int quickSearch (int []array , int left, int right, int k){ 
//left,right 位下标,k 为数字:第 k 小
         int low =left ;
         int high =right ;
         if( low== high){
             if( low== k-1) return 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值