数据结构(Java)——排序总述

19 篇文章 0 订阅
本文探讨了排序算法的两大类别:内部排序和外部排序。重点介绍了时间复杂度的概念,包括事后统计法和事前估算法,并指出时间频度与算法效率的关系。常见的时间复杂度比较如O(1)、O(log2n)、O(n^2)等,并列举了八大排序算法的时间复杂度。此外,还强调了忽略常数项和低次项在分析时间复杂度时的重要性。
摘要由CSDN通过智能技术生成

排序算法

排序的分类包括内部排序和外部排序两种

image-20211031175646456

时间复杂度

①事后统计法——当程序运行完之后进行评测

②事前估算法——通过分析时间复杂度来判断

时间频度

一个算法花费的时间和语句的执行次数成正比,一个算法中的语句执行次数就是时间频度

可以忽略常数项和低次项和系数

时间复杂度

指能操作语句的重复执行次数的某个函数用O(n)=表示;

image-20211031191512960

**常见的算法时间复杂度由小到大依次为: O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2^)<O(n^3^)< O(n^k^) < <O(2")<O(n!)**

其中log2n的代码可以是下面的形式

while(i<100){

​ i = i * 2;//改成3就是log3n

}

常见的八大算法的平均时间复杂度和最坏时间复杂度的表示以及空间复杂度:

image-20211031192702802

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痞子三分冷ゾジ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值