各种排序最坏情况下比较次数_快速排序最坏需要多少趟排序

各种排序最坏情况下比较次数_快速排序最坏需要多少趟排序都不知道怎么回答,各种排序说的也太多了,这里讲几种简单的吧,希望对你有帮助!比如n个顺序存储元素进行排序,a[0]做“哨兵”(即a[0]不存数据,而是用作辅存空间使用)的情况1直接插入排序:比较次数最少n-1次;最多(n-1)(n+2)/2移动次数最少0;最多(n-1)(n+4)/2

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

都不知道怎么回答,各种排序说的也太多了,这里讲几种简单的吧,希望对你有帮助!
比如n个顺序存储元素进行排序,a[0]做“哨兵”(即a[0]不存数据,而是用作辅存空间使用)的情况
1 直接插入排序:比较次数 最少n-1次;最多(n-1)(n+2)/2
                            移动次数 最少0; 最多(n-1)(n+4)/2
                           使用一个辅助存储空间,是稳定的排序;

2 折半插入排序:比较次数 最少与最多同,都是n*log2n(其中2为底,下边表示同),
                移动次数 最少0,最多时间复杂度为O(n2);(n的平方,以下也如此表示);
                使用一个辅助存储空间,是稳定的排序;

3 冒泡排序: 比较最少为:n-1次,最多时间复杂度表示为o(n2);
                      移动次数最少为0,最多时间复杂度表示为O(n2);
                        使用一个辅存空间,是稳定的排序;

4 简单选择排序: 比较次数没有多少之分,均是n(n-1)/2;
                            移动次数最少为0,最多为3(n-1);
                             使用一个辅存空间,是稳定的排序;

5 快速排序:比较和移动次数最少时间复杂度表示为O(n*log2n);
                    比较和移动次数最多的时间复杂度表示为O(n2);
                    使用的辅助存储空间最少为log2n,最多为n的平方;是不稳定的排序;

6 堆排序: 比较和移动次数没有好坏之分,都是O(n*log2n);
                  使用一个辅存空间,是不稳定的排序;

7 2-路归并排序:比较和移动次数没有好坏之分,都是O(n*log2n);
                    需要n个辅助存储空间,是稳定的排序;

另外还有很多的排序方法如 希尔排序,基数排序,2-路插入排序 等等很多的排序方法,这里就不一一列举了,希望列举的对你有帮助!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172502.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CAS底层原理(cas理论模型)

    一、什么是CASCAS的全称为Compare-And-Swap,它是一条CPU并发原语。它的功能是判断内存某个位置的值是否为预期值,如果是则更新为新的值,这个过程是原子的。CAS并发原语提现在Java语言中就是sun.miscUnSafe类中的各个方法。调用UnSafe类中的CAS方法,JVM会帮我实现CAS汇编指令.这是一种完全依赖于硬件功能,通过它实现了原子操作。再次强调,由于CA…

  • Vim插件管理:Pathogen安装

    Vim插件管理:Pathogen安装vim管理插件工具pathogen安装

    2022年10月24日
  • 配置元素customErrors[通俗易懂]

    配置元素customErrors[通俗易懂] Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了。可惜之前一直未曾了解到MSDN的强大。  先贴个地址:http://msdn.microsoft.com/zh-cn/library/dayb112d(v=vs.80).aspx,然后逐个分析。我希望自己能够从头到尾认真学完这系列东西。为了不至于让自己太早放弃,我决定从自己用过的配置文件学起,然后逐渐接触那些比较生疏,和少…

  • 常用vbs代码[通俗易懂]

    常用vbs代码[通俗易懂] 将域用户或组添加到本地组SetobjGroup=GetObject(“WinNT://./Administrators”)SetobjUser=GetObject(“WinNT://testnet/Engineers”)objGroup.Add(objUser.ADsPath)修改本地管理员密码Setobjcnlar=GetObject(“WinNT://./a

  • 分析如何用万能表测试MOS管好坏的小窍门

    分析如何用万能表测试MOS管好坏的小窍门   现在家电、照明、汽车电子等领域行业开关管均采用性能优异的MOS管取代过去的大功率晶体三极管,使整体的效率、可靠性、故障率均大幅的下降。       虽说是大幅降低,但也会出现损坏的情况,由于MOS管和大功率晶体三极管在结构、特性有着本质上的区别,在应用上驱动电路也比晶体三极管复杂,致使维修人员对电路、故障的分析倍感困难。怎么对MOS管进行检测呢?一起来了解下  MOS…

  • github中删除项目

    github中删除项目

    2021年10月15日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号