![](https://img-blog.csdnimg.cn/direct/a695aae837b548f8bf46c6103618b972.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
排序合集
文章平均质量分 93
收录和整理有关数据结构的八大排序算法
大耳朵土土垚
越努力,越幸运。
展开
-
数据结构——堆的应用 堆排序详解
以上就是堆的应用——堆排序啦~,我们发现可以不用写堆的实现代码就可以将一个数组排成堆🥳🥳,关键在于堆向上调整与向下调整算法的理解与运用,大家都学废了吗 ,💞💞 完结撒花 ~🎉🎉🎉。原创 2024-03-09 14:53:58 · 2873 阅读 · 87 评论 -
数据结构——lesson13排序之计数排序
计数排序基本思想:1. 统计相同元素出现次数2. 根据统计的结果将序列回收到原来的序列中我们这里利用malloc开辟一个数组来统计相同元素出现的次数,用该数字下标表示相同元素原创 2024-03-31 15:34:49 · 3010 阅读 · 108 评论 -
数据结构——lesson12排序之归并排序
我们学习了归并排序的两种实现——递归与非递归版;并分析了归并排序的时间和空间复杂度原创 2024-03-31 14:11:37 · 2550 阅读 · 67 评论 -
数据结构——lesson11排序之快速排序
快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其==基本思想==为:任取待排序元素序列中的某元素作为基准值key,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列==重复==(这里使用递归来重复,非递归版本将在后续讲解)该过程,直到所有元素都排列在相应位置上为止。 那怎么实现左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值呢?下面将介绍三个方法实现,分别是Hoare版本实现、挖坑法和前后指原创 2024-03-26 17:03:04 · 2934 阅读 · 102 评论 -
数据结构——排序之冒泡排序
冒泡排序(BubbleSort)是一种计算机科学领域的较简单的排序算法。它的基本思想是通过重复遍历待排序的数据集,并依次比较相邻的两个数据项,如果它们的顺序错误则进行交换。这个过程会持续重复直到所有相邻的数据项都已经交换完毕,此时说明该数据集已经排好序。冒泡排序的名称来源于排序过程中,较小的数据项会被逐渐“浮”到数组顶部,这个过程就像碳酸饮料中二氧化碳气泡最终会上浮到顶部的现象一样。因此,这种排序算法因其这一特性而得名。冒泡函数的核心思想。原创 2024-03-22 23:21:01 · 4766 阅读 · 48 评论 -
数据结构——lesson10排序之插入排序
元素集合越接近有序,直接插入排序算法的时间效率越高时间复杂度:O(N^2)从下标为1开始每次拿出数组的一位数与前面的数进行比较,按照最坏的情况前面所有的数都比较一次,时间复杂度可以看成1+2+3+4+…+n-1;结果是O(N^2);如果元素集合接近有序则不需要和前面所有的数比较时间复杂度大大减少,最好时(有序)可以达到O(n).空间复杂度:O(1),它是一种稳定的排序算法稳定性:稳定插入排序也有两种——直接插入排序和希尔排序;原创 2024-03-18 23:11:24 · 4040 阅读 · 75 评论 -
数据结构——lesson9排序之选择排序
以上就是选择排序包含的两种排序——直接选择排序和堆排序啦~ 堆排序在之前的博客中有详细讲过不过是建的小堆实现的降序,求最大前k个值,这里我们稍微改了点代码实现建的小堆实现升序;为什么升序要建大堆原因已经在文中详细解析过,大家有什么问题或者想法都可以打在评论区或者私信我🥳🥳完结撒花 ~🎉🎉🎉。原创 2024-03-17 16:55:32 · 2954 阅读 · 63 评论