首页 > 编程语言 >算法分析相关概念

算法分析相关概念

时间:2022-10-03 17:57:51浏览次数:53  
标签:分析 语句 int 复杂度 概念 算法 时间 频度

算法分析相关概念

算法的时间复杂度

时间复杂度的分析注意事项

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行时,效率均不相同。所以,精确度算法的执行时间没有太大意义,所以我们往往只关注算法的时间开销相对于问题规模变化的趋势,也就是时间复杂度。

时间复杂度的算法

算法(或程序)中基本操作(或语句)重复执行的次数的总和。

设n为求解问题的规模,基本操作(或语句)执行次数总和称为语句频度,记作f(n)

执行下面的步骤:

  1. 去掉f(n)中的所有加法常数。
  2. 只保留最高阶项。

得出时间复杂度记作O(f(n))。

例1:

{
    int a;
    scanf("%d",&a);
    a++;
    printf("%d",a);
}

上述的算法中,先定义了一个int类型的a,然后通过输入给a进行赋值,然后进行a+1,最后将a输出。以上每条语句都只进行了一遍,所以语句的频度为:f(n)=f(1)=3。时间复杂度就为:O(f(n))=O(3)=O(1)。O(1)称为常量阶/常量数量级。

例2:

void sum(int a[],int n){
    int s=0,i;	//1次
    for(i=0;i<n;i++)	//n次
        s+=a[i];	//n次
    printf("%d",s);	//1次
}

上述的算法中,先定义了一个int类型的s,然后进行了n次的循环,循环里面是对数组a里元素的求和,最后将s输出。其中部分语句进行了n次,所以语句的频度为:f(n)=1+n+n+1。时间复杂度就为:O(f(n))=O(2n+2)=O(n)。

标签:分析,语句,int,复杂度,概念,算法,时间,频度
From: https://www.cnblogs.com/qinyu33/p/16750862.html

相关文章

  • 实验3:OpenFlow协议分析实践
    1)hello控制器6633端口(最高支持OpenFlow1.0)-->交换机50822端口交换机50822端口(最高支持OpenFlow1.5)-->控制器6633端口2)FeatureRequest控制器6633端口(需要你的特征......
  • 阿里巴巴全球数学竞赛品牌传播分析(上)
    9月26日,2022阿里巴巴全球数学竞赛获奖名单公布,4座金杯分别由平均年龄25岁,来自美国麻省理工学院、美国布朗大学、北京大学在读数学博士斩获。77位获奖者中00后超五成引热议,因......
  • 模糊测试基本概念FuzzTest
    fuzztest1.whatisFUZZTESTing?FuzzTestingisanautomatedsoftwaretestingtechnology,originallydevelopedbyBartonMilleroftheUniversityofWiscons......
  • Vue响应式依赖收集原理分析-vue高级必备
    背景在Vue的初始化阶段,_init方法执行的时候,会执行initState(vm),它的定义在src/core/instance/state.js中。在初始化data和propsoption时我们注意initProps和......
  • 为方面级情感分析建模上下文和句法特征 Modelling Context and Syntactical Features
    摘要基于方面的情感分析(ABSA)由两个概念任务组成,即方面提取和方面情感分类。我们不是单独考虑这些任务,而是构建一个端到端的ABSA解决方案。以前在ABSA任务中的工作没有充分......
  • Vue响应式依赖收集原理分析-vue高级必备
    背景在Vue的初始化阶段,_init方法执行的时候,会执行initState(vm),它的定义在src/core/instance/state.js中。在初始化data和propsoption时我们注意initProps......
  • JeeWMS仓库管理系统(移动端+分析+物流管理)
    源码地址:https://gitee.com/erzhongxmu/JEEWMS(如有侵权请及时联系博主删贴)本WMS基于JAVA的仓库管理系统(支持3PL(三方物流)和厂内物流),包含PDA端和WEB端,功能涵盖WMS,OMS,BMS(计......
  • 实时即未来,车联网项目之远程诊断实时故障分析【七】
    文章目录​​远程诊断实时故障业务​​​​什么是远程诊断实时故障​​​​应用场景介绍​​​​常用故障分析指标与含义​​​​业务中间表数据结构​​​​分析结果表数据......
  • 实验3:OpenFlow协议分析实践
    实验3:OpenFlow协议分析实践一、实验目的能够运用wireshark对OpenFlow协议数据交互过程进行抓包;能够借助包解析工具,分析与解释OpenFlow协议的数据包交互过程与机......
  • 02 线性表 | 数据结构与算法
    1.线性表线性表的定义特点:存在唯一一个被称为第一个的数据元素存在唯一一个被称为最后一个的数据元素除了第一个元素之外,其他的数据元素都有唯一一个直接前驱除......