当前位置:   article > 正文

(数据结构)时间复杂度和空间复杂度详解_数据结构 时间空间复杂度

数据结构 时间空间复杂度

介绍时间复杂度和空间复杂度之前,我们先了解一个概念,什么是算法效率?
算法效率:
算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。

时间复杂度
1.概念
时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一 个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。
2.大O的渐进表示法

 // 请计算一下Func1基本操作执行了多少次? 
 void Func1(int N) 
 {
    
 int count = 0; 
 for (int i = 0; i < N ; ++ i)
 {
       
      for (int j = 0; j < N ; ++ j)    
      {
           
           ++count;   
      } 
 } 
 for (int k = 0; k < 2 * N ; ++ k) 
 {
   
      ++count;
 }
 
int M = 10; 
while (M--) 
{
       
      ++count;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/900615
推荐阅读
相关标签
  

闽ICP备14008679号