- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
作为业余程序员 3 年(主要是 Python 和 C)并且从未编写过超过 500 行代码的应用程序,我发现自己面临两个选择:
(1) 学习数据结构和算法设计的基本知识,使我成为一名 l33t 计算机科学家。
(2) 学习 Qt,这将帮助我构建长期以来渴望构建的项目。
对于学习(1),大家好像都比较推荐看CLRS。不幸的是,阅读 CLRS 至少需要一年的学习时间(或更多,我不是 Peter Krumins)。我还明白,要使用 (2) 完成任何中等复杂的任务,我将至少需要了解 (1) 的基础知识,这让我想到了我的问题:假设我使用 C++ 作为编程选择的语言,CLRS 的哪些部分能让我充分了解算法和数据结构,以便使用 (2) 处理大型项目?
换句话说,我需要对日常应用程序编程任务绝对必要的理论 CompSci 主题列表。此外,我想将 CLRS 用作方便的引用,因此我不想跳过任何对理解本书后续部分至关重要的 Material 。
不要误会我的意思。离散数学和 CompSci 的理论基础已经在我的“待办事项:紧急”列表中大约 6 个月了,但由于大学工作,我没有足够的时间。很长一段时间后,我有 15 天的假期可以做任何我想做的事,我想用这 15 天来构建我真正想要构建的应用程序,而不是坐在我的办公 table 前,拿着笔和纸在手,尝试写下教科书问题的解决方案。
(顺便说一句,我们将高度赞赏关于算法的少数学多代码资源。我刚从高中毕业,我的数学还没有达到应有的水平。)
谢谢:)
最佳答案
这可能被认为是异端邪说,但绝大多数应用程序代码并不需要对算法和数据结构有太多了解。大多数语言都提供包含集合类、搜索和排序算法等的库。您通常不需要了解这些工作原理背后的理论,只需使用它们即可!
但是,如果您从未编写过超过 500 行的代码,那么您确实需要学习很多东西,例如如何编写应用程序代码以使其灵活、可维护等。
关于algorithm - 编写桌面应用程序所需的最低 CompSci 知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/375272/
作为业余程序员 3 年(主要是 Python 和 C)并且从未编写过超过 500 行代码的应用程序,我发现自己面临两个选择: (1) 学习数据结构和算法设计的基本知识,使我成为一名 l33t 计算机科
我是一名优秀的程序员,十分优秀!