我想这取决于你想使用的算法类型以及你想要多深入地了解它们。大多数基本数据结构的理解几乎不需要数学背景。大多数图形算法需要了解三角学和空间几何知识。如果您想要编写物理引擎算法,那么如果您具有一些物理学基础,理解起来会更容易。如果您希望您的程序帮助您做出决策,您可能需要学习运筹学,这是数学的一个非常庞大的子领域,包括图论、博弈论、优化(然后包括分析和线性代数)。无论如何,具备逻辑/数学思维显然对理解和检查/证明代码是否可行非常有帮助。
如果你在谈论简单的编程,那么你不需要太多的数学知识。在这个水平上,你的问题解决和逻辑能力更加重要,但是使用流程图和过程规划了解问题解决的基础是必要的。另一方面,数学被认为可以提高你的能力,在某些领域中,你需要了解数学才能达到预期的结果。例如,要创建一个动画引擎,了解线性代数和物理学就非常有用。