Time complexity 算法时间复杂度。

Time complexity 算法时间复杂度。,time-complexity,Time Complexity,如果我们第一次遍历整个链表,比如单链表,那么时间复杂度渐近地出现[其中n是存在元素的数量]同样的事情,如果我们重复它,比如说200个时间,但是我们仍然表示时间复杂度,那么我的问题是 1.为什么我们不考虑上述两种算法之间的差异,因为第二种算法比第一种算法需要更多的时间来遍历,并且我们渐进地表示相同的算法。因为我们使用时间复杂度主要参数来比较算法 假设算法A遍历列表一次 假设算法B遍历列表200次 它们都是线性的,也就是说,它们的时间复杂度是相同的。为什么?如果将输入列表的大小增加一倍 算法A花费的

如果我们第一次遍历整个链表,比如单链表,那么时间复杂度渐近地出现[其中n是存在元素的数量]同样的事情,如果我们重复它,比如说200个时间,但是我们仍然表示时间复杂度,那么我的问题是
1.为什么我们不考虑上述两种算法之间的差异,因为第二种算法比第一种算法需要更多的时间来遍历,并且我们渐进地表示相同的算法。因为我们使用时间复杂度主要参数来比较算法

假设算法A遍历列表一次

假设算法B遍历列表200次

它们都是线性的,也就是说,它们的时间复杂度是相同的。为什么?如果将输入列表的大小增加一倍

算法A花费的时间是以前的两倍。 算法B花费的时间是以前的两倍。 这就是线性时间背后的直觉


你可以插入Big-O的正式定义来证明遍历一个列表200次在复杂度上是线性的,你知道,找到一个常数k,这样对于所有n>一些n,诸如此类。渐近复杂性只关心特定算法在其输入大小增长时的行为。因此,我们不需要比较算法A和算法B来说明算法B的渐近时间复杂度。

On提供了上限,即函数可以花费的最大时间,因此它们可能都花费了不同的时间,但它们的上限保持不变。大O表示法根据函数的时间来表征函数增长率:具有相同增长率的不同函数可以使用相同的O表示法表示。

可能重复的