2024-04-24 03:25:18 发布
网友
“所有O(1)函数的运行时间完全相同。”对还是错?谁能给我解释一下答案吗?在
错的。O(1)表示恒定时间。这意味着无论输入的大小是多少,函数都将以相同的时间运行—运行时不随输入而伸缩。在
这意味着两个O(1)函数将以恒定的时间运行,尽管它们的常数可能不同。因此,如果您有两个O(1)函数f和{},每个函数都计算相同的结果,期望类似的输入(为了便于讨论,假设它们期望列表),那么{}的运行时不依赖于列表的大小,g的运行时也不依赖于列表的大小。在
f
g
但是,如果f比g计算答案的步骤更复杂(或更耗时),那么f的运行时间将超过g的时间,f终止所需的秒数(我们将此值称为fsec)将大于{}终止所需的秒数(将此值称为gsec)。尽管如此,fsec和{}都不依赖于输入列表的大小-无论输入列表有多大或多小,它们都是相同的,但是gsec总是小于fsec。在
fsec
gsec
因为运行时不依赖于输入列表的大小,所以它们被归类为O(1)算法,而不是因为它们执行特定数量的操作。在
错的。O(1)表示恒定时间。这意味着无论输入的大小是多少,函数都将以相同的时间运行—运行时不随输入而伸缩。在
这意味着两个O(1)函数将以恒定的时间运行,尽管它们的常数可能不同。因此,如果您有两个O(1)函数},每个函数都计算相同的结果,期望类似的输入(为了便于讨论,假设它们期望列表),那么{}的运行时不依赖于列表的大小,
f
和{g
的运行时也不依赖于列表的大小。在但是,如果}终止所需的秒数(将此值称为}都不依赖于输入列表的大小-无论输入列表有多大或多小,它们都是相同的,但是
f
比g
计算答案的步骤更复杂(或更耗时),那么f
的运行时间将超过g
的时间,f
终止所需的秒数(我们将此值称为fsec
)将大于{gsec
)。尽管如此,fsec
和{gsec
总是小于fsec
。在因为运行时不依赖于输入列表的大小,所以它们被归类为O(1)算法,而不是因为它们执行特定数量的操作。在
相关问题 更多 >
编程相关推荐