首页 > 其他 > 详细

【算法】中位数 median

时间:2014-04-27 11:49:00      阅读:562      评论:0      收藏:0      [点我收藏+]

median 是 STL 内部的算法,用于求三个数的中位数,它将用于 std::sort, std::nth_element 的实现中,快速排序和求第 k 小数算法都用到了划分,选取 pivot 时为“三者取中”,即 *first, *(first + (last - first) / 2), *(last - 1) 三者的中位数,这两个算法后面会介绍。

median 的源码如下:

template <class T>
inline const T & median(const T &a, const T &b, const T&c) {
	if (a < b) {
		if (b < c) {
			return b;
		} else if (a < c) {
			return c;
		} else {
			return a;
		}
	} else if (a < c) {
		return a;
	} else if (b < c) {
		return c;
	} else {
		return b;
	}
}
画成决策树的形式为

bubuko.com,布布扣





【算法】中位数 median,布布扣,bubuko.com

【算法】中位数 median

原文:http://blog.csdn.net/justme0/article/details/24556493

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!