还剩12页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
按规律排序在计算机科学中,排序算法是一种用于将一组元素按照特定顺序排列的算法,通过本课件,你将了解排序算法的重要性、分类以及各种排序算法的优缺点和应用排序算法的重要性提高搜索效率优化算法性能为其他算法提供基础123排序能够帮助我们快速查找、对无序数据进行排序,可以许多其他算法都依赖于排序搜寻和识别数据提高算法的性能和效率过程,如查找、线性规划等常见排序算法分类比较排序非比较排序通过比较元素之间的大小来进行排序,包括冒泡排不通过比较元素大小来进行排序,根据其他规则对序、选择排序、插入排序、归并排序等元素进行排序,如计数排序、基数排序等冒泡排序基本思想1通过不断交换相邻的元素,将较大(或较小)的元素逐渐移动到末尾时间复杂度2,其中为待排序序列的长度On^2n应用场景3适用于数据量较小且基本有序的情况选择排序基本思想1每次从待排序序列中选择最小的元素,与当前位置的元素进行交换时间复杂度2,其中为待排序序列的长度On^2n应用场景3适用于数据量较小的情况插入排序基本思想1将待排序序列分为已排序区间和未排序区间,每次从未排序区间选择一个元素插入到已排序区间的合适位置时间复杂度2,其中为待排序序列的长度On^2n应用场景3适用于部分有序的情况归并排序基本思想1将待排序序列不断划分为较小的子序列,然后将这些子序列合并成一个有序序列时间复杂度2,其中为待排序序列的长度Onlogn n应用场景3适用于需要稳定排序且数据量较大的情况快速排序基本思想1通过选择一个基准元素,将序列划分为比基准元素小和比基准元素大的两个子序列,然时间复杂度2后对子序列进行递归排序,其中为待排序序列的长度Onlogn n应用场景3适用于数据量较大且需要稳定排序的情况堆排序基本思想1使用堆这种数据结构来实现排序,通过构建最大堆或最小堆来进行排序时间复杂度2,其中为待排序序列的长度Onlogn n应用场景3适用于需要原地排序的情况基数排序基本思想1将待排序序列按照低位到高位的顺序依次排序,直到所有位都排好序时间复杂度2,其中为最大数字的位数,为待排序序列的长度,为数字的取Od*n+k dn k值范围应用场景3适用于待排序数字位数相同且取值较小的情况谢尔排序基本思想1将待排序序列进行分组,对每组进行插入排序,然后缩小分组直至整个序列有序时间复杂度2取决于间隔序列的选择,最坏情况下为On^2应用场景3适用于部分有序的情况计数排序基本思想1统计待排序元素中每个元素出现的次数,然后根据计数结果得出排序序列时间复杂度2,其中为待排序序列的长度,为数字的取值范围On+k nk应用场景3适用于序列元素取值范围较小的情况比较排序与非比较排序比较排序非比较排序通过比较元素之间的大小来进行排序,如冒泡排序、不通过比较元素大小来进行排序,如计数排序、基选择排序等数排序等排序算法时间复杂度分析排序算法最好时间复杂度最坏时间复杂度平均时间复杂度Bubble SortOn On^2On^2Selection SortOn^2On^2On^2Insertion SortOn On^2On^2Merge SortOnlogn Onlogn OnlognQuick SortOnlognOn^2OnlognHeap SortOnlogn OnlognOnlognRadix SortOd*n+k Od*n+k Od*n+k取决于间隔序列的选择Shell SortOn On^2Counting SortOn+k On+k On+k。
个人认证
优秀文档
获得点赞 0