Algorithm 以下陈述的复杂性是什么?
我正在通过完成过去的测试来练习即将到来的测试。其中一个问题要求我确定算法的最坏情况时间复杂度(以大O为单位)。在查看以下算法时,我不确定我的思维过程是否正确:Algorithm 以下陈述的复杂性是什么?,algorithm,big-o,Algorithm,Big O,我正在通过完成过去的测试来练习即将到来的测试。其中一个问题要求我确定算法的最坏情况时间复杂度(以大O为单位)。在查看以下算法时,我不确定我的思维过程是否正确: Adjusting the color values of each Pixel in a Picture with height N and width M. 如果我们考虑一个简单的调整图片中每个垂直(n)像素的颜色值的方法,那么这个算法就是O(n)。当我们考虑宽度(M)时,我们需要乘以M*N,因为每行像素都有一个水平像素。因此,我得
Adjusting the color values of each Pixel in a Picture with height N and width M.
如果我们考虑一个简单的调整图片中每个垂直(n)像素的颜色值的方法,那么这个算法就是O(n)。当我们考虑宽度(M)时,我们需要乘以M*N,因为每行像素都有一个水平像素。因此,我得出结论,上述算法的最坏时间复杂度为O(M*N)
任何帮助或提示都将不胜感激!谢谢大家! 假设“调整每个像素的颜色值”需要恒定的时间,您的推理是正确的,因为存在N*M
像素,复杂性是O(N*M)
为了让您的答案更完整,您还应该提到一个假设,即您假设“调整每个像素的颜色值”需要恒定的时间。如果该过程(重复N*M
次)需要,比如说O(M)
,那么算法就是O(N*M*M)
,因为对于每个像素,您需要执行O(M)
操作。假设“调整每个像素的颜色值”需要恒定的时间,您的推理是正确的,由于存在N*M
像素,因此复杂性为O(N*M)
为了让您的答案更完整,您还应该提到一个假设,即您假设“调整每个像素的颜色值”需要恒定的时间。如果这个过程(重复
N*M
次)需要,比如说O(M)
,那么算法就是O(N*M*M)
,因为对于每个像素,你需要执行O(M)
操作。有N*M个像素,可能有助于验证你的解决方案有N*M个像素,可能有助于验证你的解决方案