首页 > 编程语言 > 详细

2018.7.16常用推荐算法

时间:2018-07-16 00:49:16      阅读:238      评论:0      收藏:0      [点我收藏+]

1.快速排序算法

在平均状况下,排序n个项目需要O(nlogn)次比较,在最坏情况下则需要O(n^2)次比较。快速排序通常明显比其他算法要快。以为内它的内部循环可以在大部分的架构上很有效率地被实现出来
    快速排序使用分治法策略来把一个串行分为两个字串行

算法步骤

1.从数列中挑出一个元素成为基准
2.重新排列数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值打的摆在基准的后面(相同的数可以到任一边),在这个分区退出后,该基准就处于数列的中间位置,这个称为分区(partition)操作
3.递归地把小于基准值元素的子数列和大于基准值元素的子数列排序


递归的最底部情形,是数列的大小是零或一,也及时永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出,因为每次迭代中,他至少会把一个元素拜倒他最后的位置去。

2.堆排序算法

堆排序是指利用堆这种数据结构所设计的一种非排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质

2018.7.16常用推荐算法

原文:https://www.cnblogs.com/qichunlin/p/9249745.html

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