快选,每次选一部分,扔掉另一部分,所以是O(N)
假设每次扔掉一半.
(2^k=N)
T(N) =n +n/2+n/4+n/8+n/2^k = n*(1-2^-k)/(1-2^-1) =2N
这是粗略估计,具体看算法导论。
假设每次扔掉一半.
(2^k=N)
T(N) =n +n/2+n/4+n/8+n/2^k = n*(1-2^-k)/(1-2^-1) =2N
这是粗略估计,具体看算法导论。
本文深入探讨了快速选择算法的原理与应用,通过分析每次选取与丢弃元素的策略,得出时间复杂度为O(N)的结论。进一步,通过假设每次丢弃一半元素,推导出具体的时间复杂度公式,并提供了对算法效率的精确估算。
您可能感兴趣的与本文相关的镜像
Stable-Diffusion-3.5
Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率
1103

被折叠的 条评论
为什么被折叠?