拿捏算法的复杂度

目录

前言 

一:算法的时间复杂度

1.定义

2.简单的算法可以数循环的次数,其余需要经过计算得出表达式

3.记法:大O的渐近表示法

表示规则:对得出的时间复杂度的函数表达式,只关注最高阶,其余项和最高阶的系数皆忽略;常数次均有O(1)表示

量级:O(N*N),O(N),O(1),O(2^N),O(logN),O(N*logN)

4.经典实例

二:算法的空间复杂度 

1.概念

2.经典实例


接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧 

前言 

当我们写程序尤其是写OJ题时常常会看见要求时间复杂度和空间复杂度。其实评价一个算法好不好,常常从时间复杂度和空间复杂度两个方面说起,时间复杂度简单来说就是衡量程序跑的快不快空间复杂度就是程序运行时占用空间的大小两个均为数学函数表达式,接下来将详细介绍

一:算法的时间复杂度

1.定义

算法的时间复杂度是一个程序中语句的执行次数关于问题规模的数学函数表达式,通过表达式来确定时间复杂度的量级

2.简单的算法可以数循环的次数,其余需要经过计算得出表达式

3.记法:大O的渐近表示法

表示规则:对得出的时间复杂度的函数表达式,只关注最高阶,其余项和最高阶的系数皆忽略;常数次均有O(1)表示
量级:O(N*N),O(N),O(1),O(2^N),O(logN),O(N*logN)

如:经过计算得出的时间复杂度的函数表达式为F(N)=2*n*n+7*n+3,只关注最高阶则用大O表示法就是O(N*N)

4.经典实例

1.

对于这种较复杂的我们就不能简单数循环,而是要经过计算

 

 

2.

 

对于递归的我们就要画递归展开图 ,每次调用递归展开时间复杂度都是常数次O(1)

3.

 

 

二:算法的空间复杂度 

1.概念

同时间复杂度,主要统计另外开辟变量的个数

2.经典实例

三:分享到此结束

 

相关推荐

  1. 算法空间复杂

    2024-03-10 19:42:01       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 19:42:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 19:42:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 19:42:01       87 阅读
  4. Python语言-面向对象

    2024-03-10 19:42:01       96 阅读

热门阅读

  1. mysql

    mysql

    2024-03-10 19:42:01      35 阅读
  2. QT使用FFMPEG库开发视频播放器

    2024-03-10 19:42:01       38 阅读
  3. 【算法可视化】图论专题

    2024-03-10 19:42:01       46 阅读
  4. 5233: 【J1】【map】统计数字

    2024-03-10 19:42:01       44 阅读
  5. gitlab重点知识CI/CD详细步骤说明

    2024-03-10 19:42:01       43 阅读
  6. AI中prompt是什么意思?

    2024-03-10 19:42:01       45 阅读
  7. 【机器学习】Adam优化算法

    2024-03-10 19:42:01       29 阅读
  8. 【C++】6-12 运动成绩排名 分数 10

    2024-03-10 19:42:01       41 阅读
  9. C/C++蓝桥杯之日期问题

    2024-03-10 19:42:01       41 阅读
  10. 智慧路灯物联网管理平台及应用

    2024-03-10 19:42:01       40 阅读