在浏览堆栈交换时,我看到很多人在答案中都提到了速度效率。一个代码如何比执行相同功能的另一个代码更快?
我也见过写人的人
速度快,能获得美丽吗?
为什么美丽的代码会变慢?
答案 0 :(得分:3)
我会试着给你一个具体的答案。你的问题在国外太过分了,涉及很多不容易解释的事情。
一个代码如何比执行相同功能的另一个代码更快?
例如,您必须在数组中找到一个元素。您可以在每个单元格中查找它,直到结束或在找到它时停止。这是我能给你的最简单的例子,但我认为这对初步想法是好的。 那么,现在你会寻找"冒泡排序"和" quickSort"作为排序数组的算法示例。他们做同样的工作,但第二个工作要快得多。
是什么让代码运行得更快?减少行数
不是真的,您可能有兴趣了解算法的复杂性。搜索" Big O Notation",这是一种描述算法渐近性能的方法。
导入是否意味着性能损失?
这取决于具体情况。如果您需要节省资源,因为您将执行代码的硬件可能是。在另一种情况下,性能上的差异可能很小,因此您不会遇到真正的问题。
编写性能高效的代码时,我应该记住哪些内容?
您必须学习有关算法的不同技能。 (回溯算法,分而治之算法,动态编程算法,贪婪算法,分支定界算法......) 在此之前,您通常会使用强力算法,这会降低您的代码效率。
为什么我需要性能高效的代码?
你有一个不是上帝的cpu。如果实际在您的计算机上运行的代码的等值不高,则会出现问题,一切都会变慢。在某些情况下无法维持。
速度快,以获得美丽?
漂亮的代码通常是易于理解的代码。
通常更难以理解更高效的算法,并且编写和维护代码还有其他成本。
但如果您习惯写清洁代码,则可以减少这种影响。
您的代码会在很多方面变得更好,更美观,更高效。
尝试使您的代码易于理解是非常重要的,但如果您不能,请在评论或文档中提供一些信息,说明您在这些方面做了什么。
我希望这会对你有所帮助。
答案 1 :(得分:0)
选择更好的算法通常可以显着提高速度。
例如,用quicksort替换冒泡排序;同样的工作,更好的算法,更快。
更快的算法可能更难理解,编写和维护代码还有其他成本;但我看到一项工作需要4天才能通过更好的算法减少到25秒。
有关更多详细信息,请搜索“Big O Notation” - 一种描述算法渐近性能的方法。