软件设计师-排序算法

冒泡排序

  • 每一趟冒泡排序,从第0个元素开始,和后面的元素比较,如果大于就交换,否则不变,每次冒泡可以把最大的元素放到最后一个,第一次冒泡的终点是n-1,第二趟的是n-2,直到最后剩下一个元素。
  • 时间复杂度O(n^2),稳定的排序算法

插入排序

  • 在插入第i个元素是,前i-1个元素已经排序好,将第i个元素和i-1,i-2依次比较,找到插入的位置,并把插入位置及以后的依次后移
  • 时间复杂度O(n^2),稳定的排序算法

归并排序

  • 两路归并排序的核心是将一维数组中前后相邻的两个有序序列归并为一个有序的序列
  • 分治思想,把数组分成两个部分,对前后两个部分作归并排序,排序完合并,使用了递归,最后只有一个元素的时候递归返回
  • 时间复杂度O(nlogn),空间复杂度O(n)

堆排序

  • 升序排序先构建大顶堆,然后每次把堆顶元素放到后面,再重新构建堆
  • 时间复杂度O(nlogn)

希尔排序

  • 取Gap作为增量,把相隔Gap的数字作直接插入排序,减少Gap直到1,数组有序
  • 不稳定的排序算法,时间复杂度O(nlogn),空间复杂度O(1)

快速排序

  • 使用分治思想,选择一个锚点,一次排序后比锚点小的都在左边,大的都在右边,根据锚点的位置,递归调用快速排序
  • 稳定,时间复杂度O(nlogn),空间复杂度O(logn)
相关推荐
Jackilina_Stone7 分钟前
【网工第6版】第5章 网络互联⑦
网络·软考·网络互联·网工·第5章 网络互联
云达闲人3 小时前
1.8软考系统架构设计师:系统架构设计师概述 - 练习题附答案及超详细解析
系统架构·软考·系统架构设计师
云达闲人11 小时前
1.2软考系统架构设计师:系统架构的定义与作用 - 练习题附答案及超详细解析
系统架构·软考·系统架构设计师
Jackilina_Stone18 小时前
【网工第6版】第5章 网络互联⑥
网络·软考·考试·网络互联·网工·网络互联⑥
christine-rr20 小时前
【25软考网工】第三章(2)以太网帧结构与封装、以太网物理层标准
网络·笔记·软考·考试
云达闲人3 天前
1.1软考系统架构设计师:系统架构的定义与作用 - 超简记忆要点、知识体系全解、考点深度解析、真题训练附答案及解析
系统架构·软考·系统架构设计师
Jackilina_Stone3 天前
【网工第6版】第5章 网络互联①
网络·软考·考试·网络互联·网工
Jackilina_Stone3 天前
【网工第6版】第4章 无线通信网
软考·网工·无线通信网
云达闲人3 天前
系统架构设计师:计算机组成与体系结构(如CPU、存储系统、I/O系统)案例分析与简答题、详细解析与评分要点
运维·系统架构·软考·系统架构设计师
christine-rr4 天前
【25软考网工】第二章(8)差错控制、奇偶校验、CRC、海明码
网络·算法·网络工程师·软考·考试