sách gpt4 ai đã đi

performance - 递归还是迭代?

In lại 作者:行者123 更新时间:2023-12-04 02:29:54 hai mươi bốn 4
mua khóa gpt4 Nike

如果我们使用循环而不是递归,或者在两者都可以达到相同目的的算法中反之亦然,是否会影响性能?例如:检查给定的字符串是否是回文。
我见过许多程序员使用递归来炫耀什么时候简单的迭代算法可以满足要求。
编译器在决定使用什么方面起着至关重要的作用吗?

1 Câu trả lời

递归可能会更昂贵,具体取决于递归函数是否为 tail recursive (最后一行是递归调用)。尾递归应该被编译器识别并优化为它的迭代对应物(同时保持你在代码中的简洁、清晰的实现)。

我会以最有意义的方式编写算法,并且对于必须在几个月或几年内维护代码的可怜的傻瓜(无论是你自己还是其他人)来说也是最清晰的。如果您遇到性能问题,请分析您的代码,然后才通过转向迭代实现来研究优化。您可能需要查看 memoizationdynamic programming .

关于performance - 递归还是迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6463039/

hai mươi bốn 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com