栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

内排序|数据结构与算法|C++

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

内排序|数据结构与算法|C++

汇总:
数据结构笔记|C++

1.三个时间复杂度为O(n2)的排序算法 1.1插入排序 1.1.1直接插入排序
//插入排序
void insertSort(int* d){//递增
    int N=sizeof(d)/sizeof(int);
    for(int i=0;i 
平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
O(n2)O(n2)初始逆序O(n)初始正序n2n2nO(1)稳定全局有序
1.2冒泡排序

使最小的元素一直上浮

//冒泡排序
void bubbleSort(int* d){
    int N=sizeof(d)/sizeof(int);
    for(int i=0;ii;j++){
            if(d[j-1]>d[j])
                swap(d[j-1],d[j]);
        }
    }
}
平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
O(n2)O(n2)初始反序O(n)初始正序n2n2nO(1)稳定全局有序
1.3选择排序

每步从待排序的元素中选出关键字最小的元素,放到已排序的序列的最后

//选择排序
void selectSort(int* d){
    int N=sizeof(d)/sizeof(int);
    for(int i=0;i 
平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
O(n2)O(n2)O(n2)n2nnO(1)不稳定全局有序
  • 简单选择排序的效率与初始数据的顺序性无关(就算正序逆序,都需要每次比较剩余全部未比较元素),每进行一趟排序归位一个元素
  • 由于每次都在选,所以不稳定,eg.
排序前:
2,4,4*,3
排序后:
2,3,4*,4
2.Shell排序
平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
3.归并排序
平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
4.快速排序
平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
5.堆排序
平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
6.分配排序和基数排序

分配排序

平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区

基数排序

平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
7.对各种排序算法的实验比较

总结

算法名称平均最坏最坏条件最好最好条件比较次数移动次数排序趟数空间复杂度稳定性有序区
插入
冒泡
选择
Shell
归并
快排
分配
基数
8.排序问题的下限
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/458218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号