暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
十大基本算法介绍.pdf
55
29页
0次
2024-02-28
免费下载
十大基本算法介绍
一、算法概述:
1.算法分类:
十种常见算法可以分为两大类:
比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能超过 Q(nlogn),因此也称为非线性
时间比较类排序。
非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下限, 以线性时间
行, 因此也称为线性时间非比较类排序。
2.算法复杂度:
算法复杂度
排序方
时间复杂度()
时间复杂度()
时间复杂度()
空间复杂度
稳定性
插入排序
O(n2)
O(n2)
O(n)
O(1)
稳定
希尔排序
O(n1.3)
O(n2)
O(n)
O(1)
不稳定
选择排序
O(n2)
O(n2)
O(n2)
O(1)
不稳定
堆排序
O(nlog2n)
O(nlog2n)
O(nlog2n)
O(1)
不稳定
冒泡排序
O(n2)
O(n2)
O(n)
O(1)
稳定
快速排列
O(nlog2n)
O(n2)
O(nlog2n)
O(nlog2n)
不稳定
归并排序
O(nlog2n)
O(nlog2n)
O(nlog2n)
O(n)
稳定
计数排序
O(n+k)
O(n+k)
O(n+k)
O(n+k)
稳定
桶排序
O(n+k)
O(n2)
O(n)
O(n+k)
稳定
计数排序
O(n*k)
O(n*k)
O(n*k)
O(n+k)
稳定
3.相关概念:
稳定:如果 a 原本在 b 前面,而 a=b 排序之后 a 任然在 b 前面。
不稳定:如果 a 原本在 b 前面,而 a = b, 排序之后 a 可能会出现在 b 的后面。
时间复杂度:对排列数据的总的操作次数。反映当 n 变化时,操作次数呈现什么规律。
空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模 n 的函数。
4.算法的选择
n 较小( n≤50) 可采用直接插入或直接选择排序;
若文件初始状态基本有序(指正序),则应选用直接插入、冒泡或随机的快速排序为宜;
n 较大,则应采用时间复杂度为 O(n log n) 的排序方法:快速排序、堆排序或归并排序;
n 较小,考虑稳定性,可以使用:基数排序、计数排序或者桶排序。
其中 插入算法和 归并算法 对重复率比较高的排序比较友好;冒泡算法不适合大量数据。
of 29
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜