logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

十大经典排序算法——基数排序

基数排序(Radix Sort)是一种非比较型的排序算法,它通过逐位比较元素的每一位(从最低位到最高位)来实现排序。基数排序的核心思想是将整数按位数切割成不同的数字,然后按每个位数分别进行排序。基数排序的时间复杂度为 O(n * k),其中 n 是列表长度,k 是最大数字的位数。

#排序算法#算法#数据结构
十大经典排序算法——堆排序

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。

#java#开发语言
十大经典排序算法——选择排序

将列表分为已排序部分和未排序部分。初始时,已排序部分为空,未排序部分为整个列表。:O(n²),无论输入数据是否有序,都需要进行 n(n-1)/2 次比较。:将未排序部分的起始位置向后移动一位,扩大已排序部分的范围。:O(n²),即使列表已经有序,仍需进行相同数量的比较。O(1),选择排序是原地排序算法,不需要额外的存储空间。:将找到的最小元素与未排序部分的第一个元素交换位置。:重复上述步骤,直到未

#排序算法#算法#数据结构
十大经典排序算法——冒泡排序

对列表中的每一对相邻元素重复上述步骤,直到列表的末尾。这样,最大的元素会被"冒泡"到列表的最后。:忽略已经排序好的最后一个元素,重复上述步骤,直到整个列表排序完成。第二轮结束后,第二大的元素 6 已经"冒泡"到列表的倒数第二位置。第一轮结束后,最大的元素 8 已经"冒泡"到列表的最后。:从列表的第一个元素开始,比较相邻的两个元素。比较 5 和 3,交换位置,列表变为。比较 8 和 4,交换位置,列

#排序算法#算法
十大经典排序算法——快速排序

快速排序(Quick Sort)是一种高效的排序算法,基于分治法(Divide and Conquer)的思想。它的核心是通过选择一个基准元素(pivot),将列表分为两部分:一部分小于基准元素,另一部分大于基准元素,然后递归地对这两部分进行排序。快速排序的平均时间复杂度为 O(n log n),在实际应用中性能优异。

#排序算法#算法#数据结构
十大经典排序算法——希尔排序

选择一个增量序列(gap sequence),用于将列表分成若干子列表。:按照增量序列将列表分成若干子列表,对每个子列表进行插入排序。:当增量为 1 时,对整个列表进行一次插入排序,完成排序。:逐步缩小增量,重复上述分组和排序过程,直到增量为 1。O(1),希尔排序是原地排序算法,不需要额外的存储空间。:O(n log n),当增量序列选择合适时。:O(n log n) 到 O(n²) 之间。,时

#排序算法#算法#数据结构
​ 十大经典排序算法——计数排序

由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。通俗地理解,例如有 10 个年龄不同的人,统计出有 8 个人的年龄比 A 小,那 A 的年龄就排在第 9 位,用这个方法可以得到其他每个人的位置,也就排好了序。:遍历待排序的列表,根据计数数组中的位置信息,将元素放到正确的位置。:遍历待排序的

#排序算法#java#算法
​ 十大经典排序算法——桶排序

  桶排序(Bucket Sort)是一种分布式排序算法,它将待排序的元素分配到若干个桶(Bucket)中,然后对每个桶中的元素进行排序,最后将所有桶中的元素按顺序合并。

#排序算法#算法#数据结构
十大经典排序算法——归并排序

归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。

#排序算法#算法#数据结构
到底了