一文带你了解算法复杂度O(),O(n),O(logn),O(nlogn)的含义.docxVIP

  • 15
  • 0
  • 约2.45千字
  • 约 5页
  • 2021-11-15 发布于湖南
  • 举报

一文带你了解算法复杂度O(),O(n),O(logn),O(nlogn)的含义.docx

一文带你了解算法简单度O(1),O(n),O(logn),O(nlogn)的含义 2021-11-21 信任很多开发的同伴们在争辩算法、排序的时候经常会遇到O(1),O(n),O(logn),O(nlogn)这些简单度,看到这里就会有个怀疑,这个O(N)到底代表什么呢? 首先o(1), o(n), o(logn), o(nlogn)是用来表示对应算法的时间简单度,这是算法的时间简单度的表示。不只仅用于表示时间简单度,也用于表示空间简单度。 算法简单度分为时间简单度和空间简单度。其作用: 时间简单度是指执行这个算法所需要的计算工作量; 空间简单度是指执行这个算法所需要的内存空间; 时间和空间都是计算机资源的重要体现,而算法的简单性就是体现在运转该算法时的计算机所需的资源多少; O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。 时间简单度为O(n)—线性阶,就代表数据量增大几倍,耗时也增大几倍。比如常见的遍历算法。 //循环遍历N次即可得到结果 count = 0; for(int i = 0;i 10 ; i ++){ count ++; } 复制代码 时间简单度O(n^2)—平方阶, ?就代表数据量增大n倍时,耗时增大n的平方倍,这是比线性更高的时间简单度。比如冒泡排序,就是典型的O(n x n)的算法,对n

文档评论(0)

1亿VIP精品文档

相关文档