我很难用O表示法定义以下算法的运行时间.我的第一个猜测是O(n),但是迭代和我应用的数字之间的差距并不稳定.我怎么错误地定义了这个?
public int function (int n )
{
if ( n == 0) {
return 0;
}
int i = 1;
int j = n ;
while ( i < j )
{
i = i + 1;
j = j - 1;
}
return function ( i - 1) + 1;
}
Run Code Online (Sandbox Code Playgroud) computer-science time-complexity asymptotic-complexity computer-science-theory
我试图恢复密码.考虑到这一点,我认识到"密码恢复"这个问题是NP问题的一个很好的例子.如果您知道密码,则很容易在多项式时间内验证密码.但是如果您不知道密码,则必须在整个空间内搜索可能显示为指数时间的可能解决方案.
现在我的问题是:这不是证明P!= NP,因为"密码恢复"是NP的一个元素,可以显示需要多于多项式时间来运行?
我知道Perl正则表达式引擎的一些功能不常见.但是,它是什么课?它可能没有上下文,但CS理论从来不是我最强的主题.
regex computer-science formal-languages computer-science-theory
是否有可能获得Math.random()的Big O估计值?
我希望John McCarthy还活着,但......
LISP可以解释和执行以S表达式形式编写的程序.因此,与机器语言一样,并且与大多数其他更高级语言不同,它可以用于生成用于进一步执行的程序.
我需要更多关于机器语言如何用于生成程序以及Lisp如何实现它的澄清?
lisp machine-language s-expression computer-science-theory racket
这个问题是关于导致出现登录问题(例如排序和搜索)的解决方案之间是否存在一些抽象的相似性.或者,更简单地说,为什么日志在算法复杂性中如此频繁出现?
sorting algorithm search asymptotic-complexity computer-science-theory
我正在尝试创建一个函数,该函数将对所有数字求和
并返回汇总数字的总和。
例如:
对于输入getNumValue(1589)
的输出将是:5
监守:1 + 5 + 8 + 9 = 23
和2 + 3 = 5
因此,输出将是5
由于我们不能将其分割成多个数字。
我确实设法创建了一个总结数字的递归函数:
def getNumValue(number: int):
if number == 0:
return 0
return (number % 10 + getNumValue(int(number / 10)))
Run Code Online (Sandbox Code Playgroud)
但我似乎无法将它用于我的事业。
顺便说一句,
我不想使用任何字符串
而且我正在尝试使用递归到目前为止没有运气。
我敢打赌,这是一个我不熟悉的已知数学问题。
有什么建议吗?
python algorithm recursion computer-science computer-science-theory