微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

理解是否具有与周期显式相同的渐进复杂性?

如何解决理解是否具有与周期显式相同的渐进复杂性?

在大多数情况下,使用列表/字典理解可以在计时代码时显着提高性能,但这会影响算法的渐近复杂性吗?

据我所知,差异是由于与显式循环相比,对理解的评估方式,但是这种差异应该是一个恒定因素,在这种情况下,渐进复杂度不会改变,然后随着问题,当两个版本以相同的速度运行时,最终应该得出结论。我的想法正确吗?

与此同时,当我尝试对其进行测试时,理解力一直优于显式循环,直到达到内存不足的大小为止。

解决方法

很好的问题,但这不是渐进复杂性如何工作。这并不是说它们会收敛到相同的时间量,而是它们会以相同的方式增长。例如,采用2 * n和n的算法具有相同的渐进复杂度,但前者将始终花费两倍的时间。我看不出任何原因为何理解力不会具有相同的复杂性,但是您可以通过时序测试进行经验性的测试。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。