程序员内功:八大排序算法

版权声明:本文为博主原创文章,未经博主允许不得转载。个人网站:http://cuijiahua.com。 https://blog.csdn.net/c406495762/article/details/78979946

转自:我的个人网站

这里写图片描述

一 前言

如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功。

想写出精炼、优秀的代码,不通过不断的锤炼,是很难做到的。

二 八大排序算法

排序算法作为数据结构的重要部分,系统地学习一下是很有必要的。

1 排序的概念

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。

排序分为内部排序和外部排序。

若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。

反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。

2 排序分类

八大排序算法均属于内部排序。如果按照策略来分类,大致可分为:交换排序、插入排序、选择排序、归并排序和基数排序。如下图所示:

这里写图片描述

3 算法分析

下表给出各种排序的基本性能,具体分析请参看各排序的详解:

这里写图片描述

4 系列文章

详细内容请阅读我的系列文章,以C++和Python进行实现:

排序(1):冒泡排序

排序(2):直接插入排序

排序(3):希尔排序

排序(4):快速排序

排序(5):简单选择排序

排序(6):堆排序

排序(7):归并排序

排序(8):基数排序

没有更多推荐了,返回首页