话说,选择第N个最小值的问题,从前是有恐惧的.今天看了一下,<<AtA>>关于这个方面的问题,受益匪浅.虽然,刚刚一个很简单的选择问题,我都写了一个小时,但只有自己在实现代码的时候,才知道是不是真的理解了.而且,这个东西不能凭记忆区一句一句写,那样写不出的.
思想就是,不断找出当前数组中一个确切的位置,可知当前位置之前有多少个元素小于等于该位置上的值,进而通过将该位置同目标位置进行比较.不断缩小范围,最终达到目的.
运行时间方面,是 θ(N). 分析过程很数学,我就不班门弄斧了.
贴吧,脑袋有点昏沉的感觉.