
八大排序
文章平均质量分 94
八大排序
热爱编程的林兮
静下心来,慢慢走就行,慢慢走,别停下!
展开
-
八大排序[超级详细](动图+代码优化)这一篇文章就够了
排序🍭所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持 不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳 定的;否则称为不稳定的。堆排序使用堆来选数,相比直接选择排序效率就高了很多。堆排序中每一趟都有元素归位了时间复杂度:最好/最环/平均时间复杂度:O(N*logN)原创 2023-05-07 23:58:24 · 6154 阅读 · 137 评论 -
八大排序之交换排序与计数排序
交换排序算法是一种比较简单并且常用的排序算法,在一些小规模数据的排序中更加适用。交换排序算法主要包括冒泡排序和快速排序两种算法,其中冒泡排序是一种稳定的排序算法,时间复杂度为O(n²),适用于小规模数据的排序;快速排序是一种不稳定的排序算法,时间复杂度为O(nlogn),适用于大规模数据的排序。在实际使用中,为了提高交换排序的效率,可以采用各种优化策略,例如增加标志位、记录最后一次交换的位置、随机选择基准元素等。原创 2023-04-27 10:55:37 · 2125 阅读 · 105 评论 -
八大排序之选择排序
直接选择排序思考非常好理解,但是效率不是很好。实际中很少使用时间复杂度:在插入排序中,当待排序序列是有序时,是最优的情况,只需当前数跟前一个数比较一下就可以了,这时一共需要比较n- 1次,时间复杂度为O(n)。最坏的情况是待排序数组是逆序的,此时需要比较次数最多,总次数记为:1+2+3+…+N-1,所以,插入排序最坏情况下的时间复杂度为O(n^2)。平均来说,array[1…j-1]中的一半元素小于array[j],一半元素大于array[j]。原创 2023-03-26 11:40:21 · 3558 阅读 · 45 评论 -
八大排序之插入排序和归并排序
直接插入排序的特性总结:1. 元素集合越接近有序,直接插入排序算法的时间效率越高2. 时间复杂度:O(N^2)3. 空间复杂度:O(1),它是一种稳定的排序算法4. 稳定性:稳定。原创 2023-03-19 17:32:55 · 1476 阅读 · 32 评论