栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据从结构中各种排序方法的综合比较

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据从结构中各种排序方法的综合比较

提示:排序是计算机程序设计中一个非常重要的操作,它将一个数据元素(或记录)的任意序列重新排列成一个按关键字有序的序列,在有序的序列中查找元素的效率很高,但是无序序列只能逐一查找,因此,如何进行排序,尤其是高效排序,是一个重要的课题。

文章目录
  • 前言
  • 一、时间性能
  • 二、空间性能
  • 三、排序方法的稳定性能
  • 四、排序方法的时间复杂度的下限
  • 总结


前言

排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排 序算法是稳定的;否则称为不稳定的。
内部排序:数据元素全部放在内存中的排序。
外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。


提示:以下是本篇文章正文内容,下面案例可供参考

一、时间性能

1、平均的时间性能
时间复杂度为 O(nlog2n):快速排序、堆排序和归并排序
时间复杂度为 O(n2):直接插入排序、冒泡排序和简单选择排序

2、当待排记录序列按关键字顺序有序时
直接插入排序和起泡排序能达到 O(n) 的时间复杂度,
快速排序的时间性能蜕化为 O(n2)

3.简单选择排序、堆排序和归并排序的时间性能不随记录序列中关键字的分布而改变。

二、空间性能

指的是排序过程中所需的辅助空间大小

1、所有的简单排序方法 (包括:直接插入、起泡和简单选择) 和堆排序的空间复杂度为 O(1)

2、快速排序为O(log2n),为递归程序执行过程中,栈所需的辅助空间

3、归并排序所需辅助空间最多,其空间复杂度为O(n);

三、排序方法的稳定性能

1、快速排序、简单选择排序、堆排序和希尔排序是不稳定的排序方法

2、对于不稳定的排序方法,只要能举出一个实例说明即可

四、排序方法的时间复杂度的下限

以上链接中讨论的各种排序方法都是基于 “比较关键字” 进行排序的排序方法。

可以证明,这类排序法可能达到的最快的时间复杂度为O(nlogn)

总结

这里用张图代替总结

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号