【转】算法总结-这是一份全面并且详细的排序算法学习指南

算法总结-这是一份全面并且详细的排序算法学习指南

觉得有用的话,欢迎一起讨论相互学习~

我的微博我的github我的B站


本文转载自:CSDN博主-Carson带你学Android
本文仅做学术分享,如有侵权,请联系后天删除

版权声明:本文为CSDN博主「Carson带你学Android」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/carson_ho/article/details/121204011

目录

示意图


1. 简介

示意图

注:在本文中,主要介绍 内排序中的排序算法。


2. 排序算法介绍

在内排序算法中,可按照 排序原理 & 排序复杂度 进行分类

示意图

下面,我将根据 排序原理的分类 来介绍 内排序中的所有排序算法。

2.1 交换排序类

包括:冒泡排序 & 快速排序(冒泡排序的优化),具体请看文章:

2.2 插入排序类

包括:直接插入排序 & 希尔排序(直接插入排序的优化),具体请看文章:

2.3 选择排序类

包括:简单选择排序 & 堆排序(简单选择排序的优化),具体请看文章:

2.4 归并排序类

主要是:排序算法:归并排序


3. 排序算法对比

示意图


4. 应用场景分析

示意图

即:

  • 最简单的排序算法:冒泡排序
  • 一般情况下性能最好的排序算法:快速排序
  • 不可不了解的排序算法:直接插入排序
  • 复杂度最高的排序算法:希尔排序
  • 稳定性最高的排序算法:归并排序
  • 数据量大时最该选择的算法:简单选择排序
  • 内存占用最少的排序算法:堆排序

5. 总结

下面,用一张图总结所有排序算法的相关

示意图

posted @ 2021-11-09 15:28  WUST许志伟  阅读(150)  评论(0编辑  收藏  举报