目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5930k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(157)
赞(0)

排序算法介绍

排序算法

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

粗暴理解

将杂乱无章的数据元素,通过一定的方法按照关键字顺序排列的过程叫做排序

排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理

评价比较算法维度

十大经典排序分别是冒泡排序,插入排序,选择排序,希尔排序,计数排序,基数排序,桶排序,快速排序,归并排序和堆排序。

  • 运行效率

    我们期望排序算法的时间复杂度尽量低,且总体操作数量较少(时间复杂度中的常数项变小)。对于大数据量的情况,运行效率显得尤为重要

  • 就地性

    通过在原数组上直接操作实现排序,无须借助额外的辅助数组,从而节省内存。通常情况下,原地排序的数据搬运操作较少,运行速度也更快。根据特性可以将排序算法分为内部排序外部排序

  • 稳定性

    在完成排序后,相等元素在数组中的相对顺序不发生改变

    • 快速排序,堆排序,选择排序和希尔排序是不稳定的排序算法

    • 基数排序,冒泡排序,插入排序,计数排序,归并排序和桶排序为稳定的排序算法

  • 自适应性

    时间复杂度会受输入数据的影响,即最佳时间复杂度、最差时间复杂度、平均时间复杂度并不完全相等

    排序算法的复杂度

  • 是否基于比较

    • 比较类排序:这类排序算法通过比较元素之间的相对次序来进行排序

    • 非比较类排序:这类排序算法不通过比较元素的相对次序来进行排序,而是利用元素本身的特性

image-20231221232959298

提示

运行快、原地、稳定、正向自适应、通用性好。至今为止尚未发现兼具以上所有特性的排序算法。

因此,在选择排序算法时,需要根据具体的数据特点和问题需求来决定

实时效果反馈

1. 关于排序算法,说法错误的是?

A 排序方法有10大经典排序

B 排序方法分类可以按稳定性分类

C 排序方法分类可以按是否比较元素分类

D 排序方法分类可以按速度分类

答案

1=>D

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2