冒泡、(插入、希尔)、(选择、堆排)、快速、归并、桶排、基数、计数排序sort.h文件 #ifndef UNTITLED1_SORT_H #define UNTITLED1_SORT_H #include <iostream> #include <vector> #include <queue> u ...
转载 2021-08-17 13:14:00
255阅读
2评论
十大排序算法 1、冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 1.1 算法描述 比较相邻的元素。如果第一个比第二个,就 ...
转载 2021-09-05 21:11:00
122阅读
2评论
参考:用Python手写十大经典排序算法这或许是东半球分析十大排序算法最好的一篇文章
原创 2022-07-18 11:15:43
93阅读
1.非线性时间类排序(时间复杂度未突破0(nlog2n)0(nlog2n) 0(nlog_2n))不稳定的四个排序算法选择排序: 0(n2) 希尔排序: 0(n1.3) 快速排序:0(nlog2n)0(nlog2n) 0(nlog_2n) 堆排序:0(nlog2n)0(nlog2n) 0(nlog_2n)稳定的三个排序算法插入排序: 0(n2) 冒泡排序:0(n2) 归并...
原创 2021-08-26 13:43:53
338阅读
1. 十大排序算法 其中 冒泡,选择,归并,快速,希尔,堆排序属于比较排序 稳定性理解 如果相等的两个元素,在排序前后的相对位置保持不变,那么这是稳定的排序算法。 排序前:5,1,3(a),4,7,3(b) 稳定的排序:1,3(a),3(b),4,5,7 不稳定的排序:1,3(b),3(a),4,5 ...
转载 2021-10-10 18:51:00
92阅读
2评论
基础的十大排序算法,附加私家代码~
原创 2022-11-10 00:30:30
423阅读
1.冒泡排序基本思想:持续比较相邻的元素。如果第一个比第二个,就交换他们两个。直到没有任何一对数字需要比较。冒泡排序最好的时间复杂度为O(n)。冒泡排序的最坏时间复杂度为O(n^2)。因此冒泡排序总的平均时间复杂度为O(n^2)。算法适用于少量数据的排序,是稳定的排序方法。最佳情况:T(n) = O(n)   最差情况:T(n) = O(n2)   平均情况:T(n) = O
转载 2023-07-17 09:39:13
44阅读
       在疫情期间在网上看到一篇不错的文章总结了一些排序算法,将其整理向大家一起分享,如果觉得不错的话,请给个赞鼓励一下吧。1.冒泡排序(Bubble Sort)冒泡排序 是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个
冒泡排序作为十大排序之一,是一种简单且稳定的排序算法算法思想可以联想为向湖中下石头和较轻的石头变成泡泡上浮的过程想象每一块石头处在相应的高度,从上往下相邻两个石头进行比较,较大的石头往下沉,替代下一石头的位置较轻的石头像泡泡一样往上浮一个单位,直到这一轮最重的石头沉到湖底,此趟比较才结束此时,最重的石头已经再湖底,不需要再参加下一趟排序,可以想象为以及与湖底融为一体了可以得到,每次排序...
原创 2022-03-30 16:34:20
99阅读
上篇博文我们用C++实现了十大排序算法今天我们来用Java实现一下经典的十大排序算法具体代码与文件可访问我的GitHub地址获取https://github.com/liuzuoping/AlgorithmsPS:欢迎star1 冒泡排序冒泡排序无疑是最为出名的排序算法之一,从序列的一端开始往另一端冒泡(你可以从左往右冒泡,也可以从右往左冒泡,看心情),依次比较相邻的两个数的大小(到...
原创 2021-07-09 10:51:19
219阅读
冒泡排序分简单,重复访问,依次比较进行交换,交换过多,比较相邻元素,就交换,从第一对开始,到最后一对,一次排序后保证最大的位于末尾,重复n次。时间复杂度:O(n2),空间复杂度:O(1),稳定排序,原地排序javaprivatestaticvoidsort(intnums){intn=nums.length;for(inti=0;i<n1;i){for(intj=0;j<ni1;j){if(n
原创 2022-10-09 15:45:52
143阅读
代码如下: 快排'''几乎是我们学习排序入门算法了,两次遍历,时间复杂度较高n*n,稳定排序'''def bubbleSort(tmpList): for i in range(len(tmpList)-1): for j in range(len(tmpList)-1,i,-1): if tmpList[j-1] > tm...
原创 2021-05-28 17:08:19
353阅读
1. 十大排序算法 其中 冒泡,选择,归并,快速,希尔,堆排序属于比较排序 稳定性理解 如果相等的两个元素,在排序前后的相对位置保持不变,那么这是稳定的排序算法。 排序前:5,1,3(a),4,7,3(b) 稳定的排序:1,3(a),3(b),4,5,7 不稳定的排序:1,3(b),3(a),4,5,7 原地算法(In-place Algorithm)理解 定义:不依赖额外的资源或依
转载 2021-07-06 15:15:26
296阅读
0、开场 排序算法分为外部排序和内部排序。内部排序是指数据记录在内存中进行排序,而外部排序排序的数据量很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序。 而对于内部排序,又可以分为稳定排序和不稳定排序。所谓稳定排序是指排序后2个相等值的顺序和排序前的顺序一样,不稳定排
冒泡排序作为十大排序之一,是一种简单且稳定的排序算法算法思想可以联想为向湖中下石头和较轻的石头变成泡泡上浮的过程想象每一块石头处在相应的高度,从上往下相邻两个石头进行比较,较大的石头往下沉,替代下一石头的位置较轻的石头像泡泡一样往上浮一个单位,直到这一轮最重的石头沉到湖底,此趟比较才结束此时,最重的石头已经再湖底,不需要再参加下一趟排序,可以想象为以及与湖底融为一体了可以得到,每次排序...
原创 2021-08-25 16:58:29
326阅读
十大排序算法详解 参考程序员必知必会的十大排序算法详解 引言 对于排序的分类,可以将排序算法分为两大类:
转载 2021-08-02 17:55:00
107阅读
2评论
作为一名刚上大三的学生,还是希望能目光长远一点,将目标定于明年的春招,所谓,宝剑锋从磨砺出,梅花香自苦寒
总结 算法分类 种常见排序算法可以分为两大类: 比较类排序:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序 都属于比较排序。在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置。 优势:适用于各种规模的数据,也不在乎数据的分布
转载 2019-07-15 16:32:00
181阅读
2评论
排序方法最好时间复杂度最坏时间复杂度平均时间复杂度辅助空间复杂度稳定性博客链接直接插入排序O(n)O(n)O(n)O(n2)O(n^{2})O(n2)O(n2)O(n^{2})O(n2)O(1)O(1)O(1)稳定插入排序算法折半插入排序O(n)O(n)O(n)O(n2)O(n^{2})O(n2)O(n2)O(n^{2})O(n2)O(1)O(1)O(1)稳定折半插入排序算法直接选择排序O(n2)O(n^{2})O(n2)O(n2)O(n...
原创 2021-05-20 07:25:09
1530阅读
参考: https://www.cnblogs.com/onepixel/articles/7674659.html 这个博客写的很好,而且还有每个排序算法的动画,非常值得一看。 一、概览 二、java实现 public class SortUtils { /** * 1.插入排序 * 从第二个元素 ...
转载 2021-10-27 16:09:00
166阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5