与递归算法比较,非递归算法空间复杂度小。 递归算法在执行过程中,由于函数的反复调用,会在系统栈中保存大量的函数调用信息,从而导致较大的空间开销。 而非递归算法通常直接通过循环或其他控制结构来实现相同的功能,不需要额外的栈空间来保存函数调用的上下文,因此空间复杂度相对较小。 所以选择 d 选项。 递归算法可能在结构清晰和代码简捷方面有一定优势,但往往空间复杂度较大。 至于时间复杂度,它取决于具体的算法和问题,不能一概而论地说递归算法或非递归算法的时间复杂度一定更小。 而“时空间效率较差”这种说法不准确,不能简单地认为非递归算法时空间效率较差。 [2024-11-13 01:24:47 | AI写代码神器 | 163点数解答]