gpt4 book ai didi

algorithm - 在分析某些算法时,除了时间和空间之外还有哪些参数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:28:57 27 4
gpt4 key购买 nike

在分析算法的有效性时,我有兴趣了解空间和时间以外的参数。例如,我们可以在开发加密算法时关注有效的陷阱函数。您还能想到什么?

最佳答案

首先是正确性。确保您的算法始终有效,无论输入是什么。即使对于算法无法处理的输入,您也应该打印一条错误消息,而不是让整个应用程序崩溃。如果您使用贪心算法,请确保它们在每种情况下都有效,而不仅仅是您手动尝试的少数情况。

然后是实际效率。在实践中,O(N2) 算法可以比 O(N) 算法快很多。做实际测试,不要过分依赖理论结果。

然后是易于实现。您通常不需要最好的介绍排序实现来对包含 100 个整数的数组进行一次排序,所以不用费心了。

寻找算法中最坏的情况,如果可能,尽量避免它们。如果您有一个通常速度很快的算法,但有一个非常糟糕的最坏情况,请考虑检测该最坏情况,并使用通常速度较慢但对单个情况更好的另一种算法来解决它。

考虑空间和时间的权衡。如果你能负担得起内存以获得更好的速度,那么可能没有理由不这样做,特别是如果你真的需要速度。如果您买不起内存但又可以承受得起更慢的速度,那就去做吧。

如果可以,请使用现有的库。例如,如果可以使用 GMP,请不要推出自己的多精度库。对于 C++,像 boost 甚至 STL 容器和算法这样的东西已经被一群人研究了很多年,而且很可能比你一个人做的更好。

关于algorithm - 在分析某些算法时,除了时间和空间之外还有哪些参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2402078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com