先学数据结构与算法还是先学stl 学编程是理解就行呢还是全部背?

[更新]
·
·
分类:互联网
4556 阅读

先学数据结构与算法还是先学stl

学编程是理解就行呢还是全部背?

学编程是理解就行呢还是全部背?

学习编程的最佳方法就是多实践。
所谓实践,就是先设定好目标(可以是练习题,也可以是小项目,某个特殊功能),动手写代码将目标实现出来,根据实践结果的反馈进行修改调整。在动手过程中,如果有些知识点忘记了,就通过查阅文档或者搜索解决问题,这种方法不当没有什么问题,而且还是效率比较高的方式。
有很多人还停留在大学前的学习方式,觉得只要自己完全能背诵下来,才是真正完成学习。这种思维其实没有必要,上大学后,要知道你需要的知识是无穷无尽的,很多知识不再是需要背诵下来,这些知识都是为实践服务的,保证自己时间过程中能够及时查阅,把问题解决就好。
摆脱一定要背诵的心智负担,找些自己目前能够得着的实践项目,从实践中学习,你会进度得比较快,然后就不纠结这问题了。

学习linux c 后台开发路线该是什么样呢?

先学习VC快速入门,再考虑linux

这要看题主想要做什么方面的开发,不管是哪门语言学起,我觉得都没有什么问题,重点在于自己走的线路是否和工作、兴趣一致。
总结了linux C 路线大概可以做以下事情:
1、嵌入式开发、驱动开发,最近这几年智能行业飞速发展,智能硬件非常火热,比如像树苺派这种平台的系统也是基于linux,那么想学习linux C 的这也是一个方向。
2、安卓底层开发、系统裁剪,安卓基于linux 当然可以用C 开发,国内很多定制的安卓系统,想必这方面的工作不少。
3、服务器开发,当前使用C 做服务器开发的最多的应该是游戏服务器方面的开发(当然还有很多很多),由于C 的性能较好,很多核心部分都使用C/C 完成,
以及跟网络、通讯、系统底层更好的衔接。
4、系统服务、linux系统软件开发,这些都可以用C 实现。
5、linux内核开发,有能力的加入gnu大军吧,有机会参与内核开发。
6、核心算法、人工智能等等。
可以说C 存在于整个Linux生态,当然其开发成本也较高,很多小公司一般很少招这一类人才,具体还是要看大家如何选择。

1,先打好c 基础,熟练掌握封装,多态,继承等的原理。熟练使用STL各种数据结构和算法。熟悉常用设计模式。
2,用VMware虚拟机安装一个centos或者Ubuntu系统,熟练linux各种基本命令,熟练掌握gcc,gdb,valgrind,profile等各种工具
3,看一下linux操作系统和网络相关的书籍,比如linux环境高级编程,unix网络编程,等
4,看一些开源的项目,比如redis,memcache,Hadoop等,熟悉其实现原理
剩下的就是修行在个人了!遇到问题多思考,总结,多Google。