- 博客(27)
- 收藏
- 关注
原创 排序算法(归并排序)
归并排序(Merge Sort)是一种经典的分治算法,具有稳定性和较高的时间效率。归并排序的主要思想是将一个数组分成两个子数组,分别对这两个子数组进行排序,然后再将这两个已排序的子数组合并成一个有序的数组。今天我来带大家实现递归排序的递归方法实现。
2024-11-07 23:44:22
491
原创 排序算法(快速排序)
优点:平均效率高:在平均情况下,快速排序的时间复杂度为 O(nlogn),非常高效。原地排序:快速排序是原地排序算法,不需要额外的存储空间(除了递归调用栈)。适应性强:适用于各种类型的数据,包括链表和数组。缺点:最坏情况性能差:在最坏情况下(例如,每次选择的枢轴都是最大或最小值),时间复杂度为 O(n2)。递归调用栈:虽然空间复杂度在平均情况下是 O(logn),但在最坏情况下会达到 O(n)。枢轴选择:枢轴的选择对性能有很大影响,如果枢轴选择不当,会导致性能下降。
2024-10-24 00:52:11
1594
原创 排序算法(插入排序,希尔排序,选择排序,堆排序,冒泡排序)
直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为 止,得到一个新的有序序列。(1)插入排序是对一个已经有序的区间进行插入操作,建立一个临时变量tmp来保存需要插入的数据。(2)将tmp与前一个数据进行比较,如果该数据大于tmp,则该数据往后移动。(3)直到遇到小于tmp的数据,然后将tmp赋值给该数据的下一个就完成了一次的插入(4)按我的理解,插入排序是将一组数据从无到逐个插入到该数组中去,直到插入最后一。
2024-10-21 01:21:25
1672
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅