复杂度的学习 您所在的位置:网站首页 时间复杂度log2n记为logn 复杂度的学习

复杂度的学习

2023-04-01 05:10| 来源: 网络整理| 查看: 265

对于时间复杂度和空间复杂度的学习,大致上分为了事前分析估算法和事后统计法。

而对于事后统计法,其一是对于数据的规模上,它要先依据算法编制相应的的程序并运行,其二是它太依赖环境(计算机硬件、软件),考虑这些的可能就是掩盖了算法本身所带来的优势。

而对于事前分许估算法是大多人们的选择:在编写程序前,依据统计方法对算法进行估算。一个用高级语言编写的程序在计算机上运行所消耗的时间,其决定因素主要由:

算法采用的策略、方法

编译产生的代码质量

问题的输入规模

机器执行指令的速度

时间复杂度的定义

时间复杂度(time complexity)是一个函数,它定性描述一个算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O表述,不包括这个函数的低阶项和首项系数。

分析:

关注循环次数:for、while、do while

关注嵌套代码,如循环中嵌套循环

常见的时间复杂度

O(1):HashMap

O(logn):二叉树

O(n):for循环

O(nlogn):for循环嵌套二叉树

O(n2):for循环嵌套for循环

而时间复杂度常见的中由小到大排序:

O(1) < O(log2n) < o(n) < O(nlog2n) < O(n2) < O(n3)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有