在python中,如果我有一个修改整数列表的递归函数,并假设列表很大,这样做更快:将列表保存为全局变量,不将其作为参数传递,或传递它作为一个论点,而不是让它全球化?
答案 0 :(得分:1)
对于快速而干净的代码,您应该使用迭代方法来递归(就没有算法替代方法而言)使用自定义堆栈而不是全局变量。
答案 1 :(得分:0)
如果列表是通过引用传递的,而不是在递归函数中重复,那么性能差异可以忽略不计,您应该使用哪种方法将产生更清晰和可维护的代码。通常这会将数组作为参数传递,但并非总是如此。
答案 2 :(得分:-1)
列表由地址传递,因此额外的开销只是单个函数参数(指针)。我不认为这是显而易见的。
你必须自己测试,但如果它很重要我会感到惊讶。