algorithm - 提高算法思维

标签 algorithm

<分区>

我在考虑如何提高我找到问题算法解决方案的能力。我考虑过解决来自不同数学领域的数学问题,例如离散数学或线性代数。在“谷歌搜索”了一下之后,我阅读了一篇文章声称需要学习游戏编程才能实现这一目标,这对我来说似乎合乎逻辑。

你有/有过和我一样的担忧,或者你对此有什么想法吗?我期待听到他们的声音。

提前谢谢大家。

P.S.1:我想说我已经了解编程和如何编程(虽然我是业余水平:-))我只是想在具体问题上有所改进,而不是开始学习

P.S.2:我认为这是一个对 future 引用有用的主题,所以我检查了社区维基框。

最佳答案

每天解决问题。观察红绿灯并问问自己,“如何同步这些信号以优化交通流量?或优化行人流量?两者的最佳解决方案是什么?”。看看电梯并问问自己“为什么这些电梯使用的规则与我昨天参观过的那栋大楼的电梯不同?它实际上是如何实现的?如何改进它?”。

试着到处看看问题,即使它已经解决了。反射(reflection)解决方案。问问自己,为什么您自己的高级解决方案可能不如您看到的那样好 - 您错过了什么?

等等。每天。所有的时间。

这个想法是几乎所有的东西都可以看作是一种算法(一个对某人有某种意义的目标,以及一种实现它的方法)。下次在电视上观看游戏节目或阅读最新银行抢劫案的新闻报道时,请记住这一点。问问自己“目标是什么?”,“目标是谁的?”和“方法是什么?”。

它很容易被误认为是批判性思维,但更多的是质疑您自己的解决方案,而不是您试图理解和改进的解决方案。

关于algorithm - 提高算法思维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494950/

相关文章:

performance - 在矩阵中找到长度为 N 的最大成本路径的算法,从 [0,0] 到最后一行

algorithm - 合并排序中插入排序的最坏情况时间是多少?

algorithm - 谷歌相似图像算法

c - 从总和最接近目标值的数组中选取值的算法?

algorithm - 处理间隔的数据结构

algorithm - 构建二叉树的渐近复杂度

algorithm - 使用 3 个数组的双向链表

algorithm - (arr[i] - arr[j]) 的最大值,其中 i < j

ruby - 打印文件中出现次数最多的 n 个单词(字符串)

algorithm - 摊销和平均运行时复杂度