码迷,mamicode.com
首页 > 编程语言 > 详细

2018.7.16常用推荐算法

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

标签:数据   堆排   架构   效率   使用   常用   完全二叉树   pre   策略   

1.快速排序算法

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

算法步骤

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


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

2.堆排序算法

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

2018.7.16常用推荐算法

标签:数据   堆排   架构   效率   使用   常用   完全二叉树   pre   策略   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!