作为一名业余程序员已经 3 年(主要是 Python 和 C)并且从未编写过超过 500 行代码的应用程序,我发现自己面临着两种选择:
(1) 学习数据结构和算法设计的基本知识,这样我就可以成为一名 33 岁的计算机科学家。
(2) 学习 Qt,这将帮助我构建我一直渴望构建的项目。
对于学习(1),大家似乎都推荐阅读CLRS。不幸的是,阅读 CLRS 至少需要一年的学习时间(或者更多,我不是 Peter Krumins)。我也明白,要使用 (2) 完成任何中等复杂的任务,我至少需要了解 (1) 的基础知识,这让我想到了我的问题:假设我使用 C++ 作为选择的编程语言,哪些部分CLRS 会给我足够的算法和数据结构知识,以便使用 (2) 处理大型项目?
换句话说,我需要一份对日常应用程序编程任务绝对必要的理论 CompSci 主题列表。此外,我想将 CLRS 用作方便的参考,因此我不想跳过任何对理解本书后面部分至关重要的材料。
不要在这里误会我的意思。离散数学和 CompSci 的理论基础已经在我的“TODO: URGENT”列表上大约 6 个月了,但由于大学工作,我没有足够的时间。很长一段时间后,我有 15 天的假期来做任何我喜欢做的事,我想用这 15 天来构建我真正想要构建的应用程序,而不是坐在办公桌前,手里拿着笔和纸,试图写下来教科书问题的解决方案。
(顺便说一句,关于算法的少数学多代码资源将受到高度赞赏。我刚从高中毕业,我的数学还没有达到应有的水平。)
谢谢 :)