希赛考试网
首页 > 软考 > 软件设计师

数据结构排序方法顺口溜

希赛网 2024-02-15 12:40:03

排序是计算机中常用的基本操作之一,也是一种重要的算法。在数据结构中,排序算法可以分为两大类,一种是基于比较的排序方法,一种是基于非比较的排序方法。基于比较的排序方法是指通过比较两个数据的大小来进行排序,比如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。基于非比较的排序方法是指通过不直接比较元素大小来进行排序,比如计数排序、桶排序、基数排序等。下面为大家介绍数据结构中的排序方法,记忆方法为顺口溜。

一、冒泡排序

最大的出来泡泡游,每次两两比较相邻数。时间复杂度为O(n^2),适合于元素比较少的情况。

二、选择排序

大的选择最右边,每次找出最小元素,放到数组的起始位置。时间复杂度为O(n^2),适合于元素比较少的情况。

三、插入排序

乱序插入到有序队,把数据插入到已经排序好的数据序列中。时间复杂度为O(n^2),适合于元素比较少的情况。

四、快速排序

快速排序最快了,采用分治法的思想,选择一个基准元素,将数组分成左右两个部分,使左边的元素都比基准元素小,右边的元素都比基准元素大。时间复杂度平均为O(nlogn),最坏情况下为O(n^2),是排序算法中效率较高的一种。

五、归并排序

归并排序太好用,采用分治法的思想,将原始数组分解为很多小的数组进行排序,之后再将排好序的小数组合并起来。时间复杂度为O(nlogn),但是需要辅助存储空间。

六、堆排序

堆排序像堆扑克牌,将数组元素看作是一颗完全二叉树的节点,将根节点与最后一个节点互换,重新调整堆,保证堆的性质,然后重复操作,直到所有元素排序完成。时间复杂度为O(nlogn),不需要额外空间。

七、计数排序

计数排序本领高强,是一种非比较的排序算法,通过统计每个元素出现的次数,来实现排序。时间复杂度为O(n+k),需要额外空间,适合于值比较小的元素排序。

八、桶排序

桶排序效率惊人,是一种非比较的排序算法,将待排元素分到不同的桶里,每个桶排序之后归并成有序序列。时间复杂度为O(n),但是也需要额外空间,适合于元素值比较分散的情况。

九、基数排序

基数排序牛气冲天,也是一种非比较的排序算法,将待排元素按照位数进行排序,可以先按照个位数排序,再按照十位数排序,以此类推。时间复杂度为O(nk),需要额外空间。适合于元素数值比较大且位数比较少的情况。

微信扫一扫,领取最新备考资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考报考咨询

微信扫一扫,定制学习计划