背景:求无序数组中第k小的数

分治算法:https://www.bilibili.com/video/av12681389/index_27.html#page=30


一般的思路都很多,sort,Heap,Partion

需要说明的是Partion并不能保证O(N)的最坏复杂度,因为中心枢纽是随机选的,不能保证后续的递归量分的均匀,而本文要介绍的方法是可以做到保证O(N),思路类似于Partion,但是区别,也是关键在于中心枢纽的选择,具体步骤如下:


BFPRT算法

费很大的劲来求king这个枢纽的目的在于减小后续递归的量,每次至少能减小0.3N


相关文章:

  • 2020-03-22
  • 2021-06-08
  • 2022-12-23
  • 2022-01-08
  • 2021-05-27
  • 2021-07-31
  • 2021-08-29
  • 2021-11-16
猜你喜欢
  • 2020-11-15
  • 2021-06-27
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2021-06-28
相关资源
相似解决方案