我正在为 Android 游戏开发寻路算法,我可以编写一个递归版本(这很好,但需要一个大堆栈,所以我可能需要为此创建一个具有更大堆栈大小的专用线程)和一个“循环”使用缓冲区(而不是递归)的版本。事先不知道缓冲区的大小也是个大问题,所以目前看来只有基于栈的方案可行。
我知道这可能是一个算法理论或一般计算机科学问题,但也许它是特定于 Android 的,因为堆栈大小毕竟是系统特定的特性。
一般来说,哪个在 Android 上应该更高效(速度)?堆栈一个,还是依赖缓冲区(堆)的那个?请注意,该问题在架构方面接近问题(假设算法复杂性不取决于算法是递归的还是基于循环的)。