随机化快排和决策树

一、随机化快速排序算法算法

  (1)、快速排序的坏处:彻底顺序/彻底逆序时时间复杂度为:O(n^2),其他的状况时间复杂度为:O(nlogn),算法的效率与输入顺序有关;
ide

  (2)、随机选择主元,好处:其运行时间不依赖于输入序列的顺序,算法的效率与输入的顺序无关;spa

  (3)、最差的状况由随机数产生器决定,随机化快速排序的时间复杂度为:O(nlogn);3d


二、比较排序的算法模型blog

  该模型中,只能作的操做:< <= > .......,来决定元素的相对顺序;排序

  局限性:该模型只能用于能够比较大小的数据类型;get

  总结:比较排序的算法时间复杂度不会小于:O(nlogn);it


三、决策树下的排序算法io

  有3个数<a1, a2, a3>,用决策树进行排序。class

wKioL1inCqayjnUkAAAl1hNW1I4475.png-wh_50

  (1)、决策树:通常状况下,有n个元素须要排序,左边的子树说明ai <= aj;右边的子树对应ai > aj;每个叶子结点表示一种排序结果,最终的结果a1 < a2 < a3......< an;

  (2)、所以比较型排序算法均可以被转换成决策树模型的方式;

  (3)、n值的决策树,就是把算法中这些比较的全部可能结果分别列出来;决策树指出了全部可能的路线,用决策树分析比较型的算法是颇有用的;

  对于n个元素的排序, 用决策树能够证实比较型的排序算法的时间复杂度:取决于树的高度,此时叶子节点的个数是n!,树高>=nlog(n);

  树的高度决定比较的次数,进而决定时间复杂度;

wKiom1inFIuwjKWLAACzCfnWM5U198.png-wh_50

相关文章
相关标签/搜索