我正在实现欧几里得算法,用于找到两个整数的最大公约数(Greatest Common Divisor)。
提供了两个示例实现:递归和迭代。 http://en.wikipedia.org/wiki/Euclidean_algorithm#Implementations 我的问题:
在学校里,我记得我的教授们谈论递归函数时总是很兴奋,但我有一个疑问。与迭代版本相比,递归算法是否占用更多堆栈空间,因此需要更多内存?此外,由于调用函数需要一些初始化开销,递归算法是否比迭代算法更慢?
提供了两个示例实现:递归和迭代。 http://en.wikipedia.org/wiki/Euclidean_algorithm#Implementations 我的问题:
在学校里,我记得我的教授们谈论递归函数时总是很兴奋,但我有一个疑问。与迭代版本相比,递归算法是否占用更多堆栈空间,因此需要更多内存?此外,由于调用函数需要一些初始化开销,递归算法是否比迭代算法更慢?