Python全系列 教程
3567个小节阅读:5930k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列
粗暴理解
将杂乱无章的数据元素,通过一定的方法按照关键字顺序排列的过程叫做排序
排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理
十大经典排序分别是冒泡排序,插入排序,选择排序,希尔排序,计数排序,基数排序,桶排序,快速排序,归并排序和堆排序。
运行效率
我们期望排序算法的时间复杂度尽量低,且总体操作数量较少(时间复杂度中的常数项变小)。对于大数据量的情况,运行效率显得尤为重要
就地性
通过在原数组上直接操作实现排序,无须借助额外的辅助数组,从而节省内存。通常情况下,原地排序的数据搬运操作较少,运行速度也更快。根据特性可以将排序算法分为内部排序与外部排序
稳定性
在完成排序后,相等元素在数组中的相对顺序不发生改变
快速排序,堆排序,选择排序和希尔排序是不稳定的排序算法
基数排序,冒泡排序,插入排序,计数排序,归并排序和桶排序为稳定的排序算法
自适应性
时间复杂度会受输入数据的影响,即最佳时间复杂度、最差时间复杂度、平均时间复杂度并不完全相等
是否基于比较
比较类排序:这类排序算法通过比较元素之间的相对次序来进行排序
非比较类排序:这类排序算法不通过比较元素的相对次序来进行排序,而是利用元素本身的特性
提示
运行快、原地、稳定、正向自适应、通用性好。至今为止尚未发现兼具以上所有特性的排序算法。
因此,在选择排序算法时,需要根据具体的数据特点和问题需求来决定
实时效果反馈
1. 关于排序算法,说法错误的是?
A 排序方法有10大经典排序
B 排序方法分类可以按稳定性分类
C 排序方法分类可以按是否比较元素分类
D 排序方法分类可以按速度分类
答案
1=>D