侧边栏壁纸
博主头像
千异博主等级

学无止境,学以致用,志存高远!

  • 累计撰写 29 篇文章
  • 累计创建 24 个标签
  • 累计收到 0 条评论

Algorithm——排序算法

千异
2022-04-27 / 0 评论 / 0 点赞 / 124 阅读 / 419 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-04-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

冒泡排序

  1. 依次比较相邻两个元素大小。
  2. 如果前一个元素大于后一个元素,则交换位置。
  3. ...
  4. 在剩下的元素中,重复上述过程。

平均速度O(n2),最坏速度O(n2)
每次排序都会把子数组中的一个最大值放到最终位置。

选择排序

  1. 从原始数组中选择一个最小的元素与数组第一个元素交换。
  2. 从剩下的元素中选择一个次小的元素与数组第二个元素交换。
  3. ...
  4. 重复上述过程。

平均速度O(n2),最坏速度O(n2)

插入排序

  1. 将数组前面两个元素顺序排好。
  2. 将第三个元素与前面排好的两个数比较,并插入合适的位置。
  3. 将第四个元素与前面排好的三个数比较,并插入合适的位置。
  4. ...
  5. 重复上述过程。

平均速度O(n2),最坏速度O(n2)

Shell排序(希尔排序,缩小增量排序)

最后一步是选择排序
平均速度O(n3/2),最坏速度O(n2)

快速排序

平均速度O(nlogn),最坏速度O(n2)

堆排序

平均速度O(nlogn),最坏速度O(nlogn)

合并排序

平均速度O(nlogn),最坏速度O(nlogn)

0
博主关闭了所有页面的评论