当前位置: 首页 > 面试题库 >

线性时间与二次时间

锺离飞尘
2023-03-14
问题内容

通常,一些答案提到给定的解决方案是 线性的 ,或者另一个是 二次的

如何发挥作用/识别什么?

有人能为像我这样仍然不认识的人解释这种最简单的方法吗?


问题答案:

当所需时间随所涉及元素的数量线性增加时,该方法是线性的。例如,用于打印数组元素的for循环大致是线性的:

for x in range(10):
    print x

因为如果我们打印range(100)而不是range(10),则运行它所需的时间要长10倍。您会经常看到写为O(N)的意思,这意味着运行算法的时间或计算工作量与N成正比。

现在,假设我们要打印两个for循环的元素:

for x in range(10):
    for y in range(10):
        print x, y

对于每个x,我循环10次y。因此,整个过程要经过10x10 =
100个打印(您可以通过运行代码来查看它们)。如果不是使用10,而是使用100,则该方法将执行100x100 = 10000。换句话说,该方法采用O(N * N)或O(N²)的形式,因为每次您增加元素数量时,计算工作量或时间将随点数的平方增加。



 类似资料:
  • 如果水印在指定的时间间隔内没有被更改(没有事件到达),运行时将不会发出任何水印?另一方面,如果在下一个间隔之前到达了新事件,则将立即发出新的水印,或者将其排队/等待,直到到达下一个setAutoWatermarkInterval间隔。 我很好奇AutoWatermarkInterval的最佳配置是什么(特别是对于高速率源):这个值越小,处理时间和事件时间之间的延迟就越小,但发送水印的带宽开销越大。

  • 我想用python和tweepy流我自己的twitter时间线,并使用下面的代码,但它只是打印我一些数字,我没有打印我的时间线twitts。你能帮我吗?

  • 我正在通过一次发送250个请求来进行API负载测试。 1.配置 很自然,当很多用户同时请求时,服务器需要更长的时间来响应,这是它在这里说的。参见http://jmeter-plugins.org/wiki/responsetimesvsthreads/。然而,当测试这是我发现的… 活动线程与用户请求的数量相同吗?如果是,为什么会在一致的基础上发生? Update-1运行了另一个测试,并增加了这一次

  • 问题内容: 我正在学习Python,而处理列表的简单方法是一种优势。有时是这样,但请看以下内容: 从列表中获取第二大数字的一种非常简单,快速的方法。除了简单的列表处理之外,还可以编写一个遍历列表两次的程序,以找到最大的程序,然后找到第二大的程序。这也是破坏性的- 如果我想保留原始数据,则需要两个数据副本。我们需要: 该列表仅运行一次,但并不像以前的解决方案那样简洁明了。 那么:在这种情况下,有没有

  • 问题内容: 我有一个超过15000行的数据框对象,例如: 我试图找到具有特定anime_id的行。 我只是想知道此搜索是在固定时间(如字典)还是线性时间(如列表)中完成的。 问题答案: 这是一个非常有趣的问题! 我认为这取决于以下几个方面: 按索引访问单行( 索引已排序且唯一 )应具有运行时,其中 按索引访问单行( 索引不是唯一的并且未排序 )应该具有运行时 通过索引访问单行( 索引不是唯一的,并

  • 可视化地呈现时间流信息。 基础用法 Timeline 可拆分成多个按照时间戳排列的 activity,时间戳是其区分于其他控件的重要特征,使⽤时注意与 Steps 步骤条等区分。 demo <div class="block"> <el-timeline> <el-timeline-item v-for="(activity, index) in activities"