在C#中,在算法中使用递归函数是否是一种好习惯?

在C#中,在算法中使用递归函数是否是一种好习惯?,第1张

在C#中,在算法中使用递归函数是否是一种好习惯?

无论如何,不​​使用递归将导致您使用自己的“堆栈”来重写算法,该“堆栈”最终将在执行时受到类似的条件。

您可以根据算法的需要自定义堆栈大小,但是如果您查看WPF /
Silverlight和常规UI相关的算法,它们本质上都是递归的,并且每次单击,每次按键和每条通知都会经过许多递归方法。

查看创建具有自定义堆栈大小的线程,

尽管速度可能因算法和复杂性而异,但是创建单独的非递归算法会使任务变得更加复杂,因为您将自己使用列表,堆栈等来进行所有数据存储 *** 作。

这是一个设计与性能的问题,如果您想要更好的性能,那么您的非递归算法将执行得更快,但是设计和实现这种算法将需要更长的时间。在其他地方,如果需要更快的解决方案,则可以编写执行速度较慢的递归算法,但是如果相差只有几毫秒或几微秒,则不值得这样做。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4960711.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存