【问题标题】:How can I find Time complexity for "while loop" and "power statement"如何找到“while 循环”和“power 语句”的时间复杂度
【发布时间】:2022-01-26 13:38:20
【问题描述】:

我正在尝试找出两条 python 语句的时间复杂度:

  1. while 循环:我了解如何找到 for 循环的复杂性类,但是当涉及到 while 循环时,情况完全不同,我怎么能在这里停下来?条件控制循环...
  2. power 语句:时间复杂度是否受 pow 函数影响?

这是一个程序语句的示例:

  Upper=100
  n =random.randrange(0, Upper)
  while gcd(n, Upper) != 1:
      n = random. randrange(0, Upper)  # question 1

  

  pow(c, n - 1, n)  # (c ^n-1 mod n)   question 2
                    #where n is a large prime number 

【问题讨论】:

    标签: python-3.x while-loop time-complexity


    【解决方案1】:

    while 循环的时间复杂度是迭代次数乘以循环测试的复杂度加上循环体。 (更一般地说,如果这些复杂性因迭代而异,您必须考虑跨迭代的复杂性总和。)

    对于 pow 函数,没有唯一的答案。使用固定长度表示,您可能会假设复杂度为 O(1),但在某些情况下它可能是 O(log e),其中 e 是指数。

    【讨论】:

    • 非常感谢您的关注,但是while循环不能限制大小?循环取决于生成的数字,如果它捕捉到条件,它将被停止。如何计算这里的时间复杂度?
    猜你喜欢
    • 2018-11-18
    • 1970-01-01
    • 2013-12-08
    • 2016-12-17
    • 1970-01-01
    • 2021-07-21
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多