2014年4月7日

选择问题(选出第i个最小元素)

摘要: 通过分治法解决的分析(还有其他方法解决选择问题如使用 堆)1 同快速排序一样,对输入的数组进行递归分解 不同的是:快速排序会递归处理分解的两边,而选择问题只处理需要的一边2 选择问题的期望时间代价为Θ (n) (平均性能)3 选择问题一般思路 a. 随机选取一个key b. 进行区域划分,比key小的在左边,比key大的在右边 c. key的下标与 i(第i个最小元素的下标)比较,分别处理3种情况 相等: 即为需要选择的元素 ikey: 说明第i个最小元素在划分区域的右边,进行递归分解右边的区域,[注意需要考虑 此时第i个元素在区域右边为第i-k(key的下标... 阅读全文

posted @ 2014-04-07 23:57 Seven++ 阅读(299) 评论(0) 推荐(0) 编辑

导航