C语言数据结构的8个排序

排序难点:算法多,容易混淆

1.直接(简单)插入排序:扑克牌


      特点:越有序越快,完全有序O(n),非常重要,这个是希尔排序的基础


 2.希尔(shell)排序

        分组后利用直接插入排序

3.冒泡排序:

        两两比较,大的往后走


* 4.快速排序:

       算法: 1.从后往前找比基准小的数字,找到往前挪
                   2.从前往后找比基准大的数字,找到往后挪

                   3.重复1.2
       缺点:1.越有序,越慢                
                  2.空间复杂度大,不稳定


  5.选择排序:

        每次都从待排序中选出最小的一个和待排序的第一个进行数据交换


  6.堆排序:

        算法:1.从最后一颗子树开始,从后往前调整
                   2.每次调整,从上往下调整
                   3.调整为大根堆
                  大根堆:在二叉树中所有的父都大于子
                  小根堆:在二叉树中所有的父都小于子
                  度:就是节点的分支
                  叶子节点:度为0
                  兄弟:同一个双亲的孩子之前被称为兄弟
                  深度:就是树的层高


  7.归并排序
            1.将两段有序的数据合并成为一段有序的数据,直到所有的数据都有序
            2.把两段有序的归并成为一段有序的,也称为2路有序
  8.基数排序(桶排序)
            局限性:不能处理负数
  9.第‘9’个排序
           链表排序
           1.单链表存放数据我们用什么排序?(冒泡,选择)
           2.双向链表存放数据我们用什么排序?(快排(STL自带的list为双向链表)࿰

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值