排序算法总结

简介: 经典排序算法总结

排序算法总结(个人理解版):

  • 第Ⅰ类:插入排序(后边元素依次与前边元素比较排序);
  • 第Ⅱ类:选择排序(后边元素编组,选最小与最前元素交换位置)、谢尔排序(选择排序的改进,分组的方法不同)
  • 第Ⅲ类:冒泡排序(1/2比较,2/3比较,依次类推)、快速排序(分组后冒泡)
  • 第Ⅳ类:堆积排序(二叉树结构排序,建立堆)
平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 比较次数 交换次数 排序趟数
插入排序 O(n2) O(n2) O(n) O(1) 最好为n-1,最差为n(n-1)/2 最好为0,最差为n(n-1)/2 n-1
谢尔排序 O(nlog2n) O(nlog2n) O(n1.3) O(1) 最好为nlog2n,最差为n2 与gap有关,n-gap log2n
泡排序 O(n2) O(n2) O(n) O(1) n(n-1)/2 逆序数 与原始状态有关
快速排序 O(nlog2n) O(n2) O(nlog2n) O(log2n)~O(n) nlog2n,最差为n(n-1)/2 具体分析 与原始状态有关
选择排序 O(n2) O(n2) O(n2) O(1) n(n-1)/2 0~(n-1) n-1
堆积排序 O(nlog2n) O(nlog2n) O(nlog2n) O(1) nlog2n 具体分析 n-1
相关文章
|
4月前
|
搜索推荐 算法
排序算法总结
排序算法总结
34 11
|
6月前
|
搜索推荐 算法
常见排序算法实现(二)
常见排序算法实现(二)
51 0
|
算法 搜索推荐 Java
常见排序算法详解(1)
前言 排序是我们在日常生活和工作中常见的一种操作。在计算机科学中,排序算法就是将一串或一组数据按照特定的顺序进行排列的算法。这些顺序可能是数字的升序或降序,也可能是字母或字词的字母顺序等。我们将探讨几种不同的排序算法,包括他们的原理、优缺点以及代码实现。
124 0
|
搜索推荐
常见的排序算法
在实际应用中,我们经常遇到需要将大量数据进行排序的问题,下边博主将带领大家认识常见的排序算法,相信通过这一篇文章让你能够掌握基本的排序算法,这些排序也是在面试笔试中的高频考点,让我们读完这篇文章,从此不做迷糊人!
93 0
常见的排序算法
|
搜索推荐 算法
|
算法 搜索推荐 C++
|
搜索推荐 程序员 C语言
常见的排序算法(上)
时间如流水,今天就到初阶数据结构最后一个知识章节了,常见的排序算法!在进入这期之前,程爱打篮球的程序猿想说一句,如果有不懂的地方可以反复观看我之前的内容,再还有不懂可以直接找我,帮你安排的妥妥的!
常见的排序算法(上)
|
存储 算法 搜索推荐
【C++】常见的几种排序算法
【C++】常见的几种排序算法
69 0
【C++】常见的几种排序算法
|
搜索推荐
快排序算法(中)
快排序算法(中)
129 0
快排序算法(中)
|
搜索推荐 Java
常用排序算法总结
在计算器科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定排序方式进行排列的一种算法。本文将总结几类常用的排序算法,包括冒泡排序、选择排序、插入排序、快速排序和归并排序,分别使用Java代码实现,简要使用图例方式介绍其实现原理。
6789 0