1.2、选取枢纽元的几种方法
1、糟糕的方法
通常的做法是选择数组中第一个元素作为枢纽元,如果输入是随机的,那么这是可以接受的。但是,如果输入序列是预排序的或者是反序的,那么依据这样的枢纽元进行划分则会出现相当糟糕的情况,因为可能所有的元素不是被划入S1,就是都被划入S2中。是不是很糟糕?点击数据分析方法梅长林获取更多详情!
2、较好的方法
一个比较好的做法是随机选取枢纽元,一般来说,这种策略是比较妥当的。为什么呢?因为这样可以避免预排序和反序列带来的问题!你不信?看看数据分析答案梅长林.docx,答案都在里面哦。
3、三数取取中值方法
输入序列为8, 1, 4, 9, 6, 3, 5, 2, 7, 0,它的左边元素为8,右边元素为0,中间位置(left+right)/2上的元素为6,于是枢纽元为6。显然,使用三数中值分割法消除了预排序和反序列的影响,这难道不是绝妙的策略吗?更多关于三数取中值的方法,可以参考数据分析方法与分析过程。
这些方法是不是都很有趣?还想了解更多?那就快去点击这些链接吧,提升你的数据分析水平不是梦!
暂无评论