时空复杂度(时间复杂度/空间复杂度)O(1)、O(n)、O(n^2)、O(log n)、O(n log n) 是什么意思

Bertha 。 2024-03-27 19:25 187阅读 0赞

阅读目录

  • 阐述
    • O(1)解析
    • O(n)解析
    • O() 的写法为:O(n^2)
    • O(log n)解析
    • O(n log n)解析

阐述

这些都是算法时空复杂度的表示。
不仅仅用于表示时间复杂度,也用于表示空间复杂度。

O 后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。
其中的 n 代表输入数据的量。

O(1)解析

O(1)就是最低的时空复杂度了,也就是耗时 / 耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时 / 耗空间都不变。

哈希算法就是典型的 O(1) 时间复杂度,无论数据规模多大,都可以在一次计算后找到目标(不考虑冲突的话),冲突的话很麻烦的,指向的 value 会做二次 hash 到另外一快存储区域。

通俗易懂的例子

什么是O(1)呢,就比如你是一个酒店的管理员,你负责管理酒店的钥匙,你很聪明,你把酒店的100把钥匙放在了100个格子里面存着,并且把格子从1~100进行了编号,有一天有客人来了,酒店老板说,给我拿10号房间的钥匙给我,你迅速从10

发表评论

表情:
评论列表 (有 0 条评论,187人围观)

还没有评论,来说两句吧...

相关阅读

    相关 时间复杂_空间复杂

    时间复杂度\_空间复杂度 主要说明以下3点: 1.算法效率 2.时间复杂度 3.空间复杂度 一、算法效率 算法效率分析分为两种:第一种是时间效率,第二种

    相关 时间复杂空间复杂

    算法的时间复杂度和空间复杂度合称为算法的复杂度。 1.时间复杂度 (1)时间频度  一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可