9.2-3 Iterative version of Randomized-Select

本文介绍了如何将随机选择算法RANDOMIZED-SELECT改写为迭代版本,强调了迭代版本在内存效率上的优势。通过迭代调整数组中的边界p、r和索引i,实现了在原始数组上直接操作。迭代过程不断更新边界,直到找到第i个最小元素。代码展示了迭代版的Iterative-Randomized-Select算法,并解释了其工作原理。
摘要由CSDN通过智能技术生成

9.2-3

Write an iterative version of RANDOMIZED-SELECT


Analyse:

For this the original recursive algorithm, the recursion doesn't need to remember the intermediate information, ie. there is no combine process of the divide-conquer-combine paradigm. So i think the the iterartive version is more efficient regarding memory use.


Implementation:

Iteratively adjust the r and q and i on the original array.

Iterative-Randomized-Select (A, p, r, i)

while( p != r){

q = random-partition(A, p, r);

k = p - p + 1;

if( i == k){

return A[k];

}else if ( i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值