做程序开发工作很长时间了,随着自己知识的提升,逐渐的感觉到程序设计中,最重要的是算法和数结构。语言是载体而以,如果你精通了一门语言,学习其他语言都是很简单了。例如C++ 和JAVA 就有很多一样的地方,相互之间可以对比学习。
程序设计中的很多问题最后归根到底是数据结构和算法的问题。对于一个比较小的功能,首先想到的是数据结构,现在大多数是ADT(抽象数据类型,把数据和操作隔离开来,提供一个接口,让程序员把大部分精力放在算法,效率方面)。数据结构又有逻辑结构和存储结构,对于具体的问题是首先分析逻辑结构,然后就是存储结构,用什么存储结构要看具体的问题。主要的目的是从内存管理方面来提高效率(时间效率和空间效率综合考虑)。
具体的问题分析完功能后,然后设计具体的逻辑结构和存储结构,对于一个具体的功能,怎样实现才能达到最好的效果,就是算法的问题,现在有很多的算法,怎样才能达到最好的效率在不同的情况下有不同的算法。许多问题可以不断的优化,没有最好的算法,只有很好的算法,所以算法设计的过程中要不停的考虑怎么优化。
总之,学习程序设计不要太注重语言的学习,精通一门语言就可以,(当然越多越好),操作系统的设计都是算法和数据结构的问题。(C语言编写)所以,走上程序设计道路,要吸取精华,那就是算法和数据结构。知识在不停的更新,但是算法和数据结构永远都绽放出青春的活力。