首页 > 编程语言 >排序算法(C++实现)

排序算法(C++实现)

时间:2023-02-28 21:58:15浏览次数:44  
标签:nlogn 复杂度 C++ ------------ 算法 n2 排序 插入排序

1、排序算法总结

时间复杂度 空间复杂度 稳定性 原地排序
直接插入排序 O(n2) O(1)
折半插入排序 O(n2) O(1)
希尔排序 最坏O(n2) O(1) ×
冒泡排序 O(n2) O(1)
快速排序 O(nlogn) O(logn) ×
简单选择排序 O(n2) O(1) ×
堆排序 O(nlogn) O(1) × ×
归并排序 O(nlogn) O(n) ×
基数排序 O(dn)d是位数 O(d) ×
桶排序 O(n+k)k是桶个数 O(n+k) ×
时间复杂度和空间复杂度分析:
最好时间复杂度 最坏时间复杂度 平均时间复杂度 空间复杂度
------------ ------------ ------------ ------------ ------------
冒泡排序 O(n)[初始数组为正序] O(12)[初始数组为倒序] O(n2) O(1)
插入排序 O(n)[初始数组为正序] O(12)[初始数组为倒序] O(n2) O(1)
选择排序 O(n2) O(n2) O(n2) O(1)
希尔排序 O(n) O(n2) O(n1.3) O(1)
快速排序 O(nlogn) O(logn) ×
简单选择排序 O(n2) O(1) ×
堆排序 O(nlogn) O(1) × ×
归并排序 O(nlogn) O(n) ×
基数排序 O(dn)d是位数 O(d) ×
桶排序 O(n+k)k是桶个数 O(n+k) ×

标签:nlogn,复杂度,C++,------------,算法,n2,排序,插入排序
From: https://www.cnblogs.com/xingyuchen/p/17166154.html

相关文章

  • 算法刷题-查找组成一个偶数最接近的两个素数-JAVA
    0x00引言为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。题解只写自己理解的解法,其他解法不再增加。......
  • visual studio C++调试出现 无法启动....... 拒绝访问
    Visualstudio 调试C++控制台程序,出现无法启动。。。拒绝访问原因竟然是360安全卫士导致的,关闭后就可以启动了......
  • LeetCode算法训练-回溯总结
    欢迎关注个人公众号:爱喝可可牛奶LeetCode算法训练-回溯总结适用问题组合问题:N个数里面按一定规则找出k个数的集合排列问题:N个数按一定规则全排列,有几种排列方式切割问......
  • LeetCode算法训练-回溯总结
    欢迎关注个人公众号:爱喝可可牛奶LeetCode算法训练-回溯总结适用问题组合问题:N个数里面按一定规则找出k个数的集合排列问题:N个数按一定规则全排列,有几种排列方式切割......
  • 算法基础1.2.2浮点数二分
    前言直接先把整数二分看完看整数二分文章点这里现在只需要补充几个特点(其实整数二分的博客的前言就介绍了一些)就可以了由于浮点数二分没有向下取整的特性(不懂的话就去......
  • 2月28日——算法微入门
    以上课程内容均来自于武汉大学李春葆教授的网课,为李教授第一周所讲内容。(接下来括号里面全部都是吐槽,不看也罢)(可惜我不小心把我的AI删掉了(网速不行也下不回来),不然我可以......
  • 基本算法之二分查找法折半查找(Java)
    前提条件:数组中的数据必须是有序的!核心思想:每次排除一半的数据,查询数据的性能明显提高很多!      publicclassTask{publicstaticvoidmain(Stri......
  • 算法基础1.2.1整数二分
    前言如果第一次接触二分其实很难理解它的含义我对二分的理解就是找到一个条件,能够保证所有数据对于这个条件要么是True要么是False。二分的作用是查找。二分本质不是单......
  • C++for循环新用法
    1、拷贝range的元素时,使用for(autox:range).2、修改range的元素时,使用for(auto&x:range).3、只读range的元素时,使用for(constauto&x:range).#include<iost......
  • C++刷题笔记
    初始化string数组stringnumbers[12]={{"1"},{"2"},{"10"},{"11"},{"23"},{"25"},{"31"},{"36"},{"37"},{"102"},{"325"},{"438"}};填充for(in......