本人本不是学计算机专业的,可是对程序和计算机很感兴趣。我那个专业教我们学习jsp,老师建议我们学学j2ee,以后可以去做企业级开发,当出于兴趣的原因,刚刚看了《数据结构与算法》的第一章,觉得还是很有收获的,就讨论的问题我说一说自己的心得。
算法有广义和狭义之分,从广义上看,它是对特定问题的求解步骤的描述,至于用什么语言来描述没太大的关系,重要的是算法的正确性。程序本身体现的就是一种人类的逻辑思想,在复杂的程序也无非是很多个小逻辑组成的复杂的大逻辑,而这些逻辑的过程就是算法。(本人个人观点)从狭义上看,算法就是方法或者说函数的内容,在基本数据类型的基础之上构建心得数据类型。c中的结构体和共用体,java和c++中的类不都是具有新的数据结构的数据类型。无论你再怎么面对对象,cpu执行时只有指令和数据,书中有一句话我觉得很经典,“c语言可以看作是一个执行c指令和c数据类型的虚拟处理器”。说到底,算法和面对对象等架构软件设计思想并不是两个独立的两个思想,也并不冲突,甚至在面对同一个问题时二者是互补的,对哪一个的领悟不足都会可能成为瓶颈,所以对二者的认识程度就意味着你达到怎样的境界,二者也许不是平衡发展,比如说在企业级开发方面,对算法的要求不是很高,对架构就会高要求。在os,嵌入式系统方面,对算法的要求就会很高。至于该加强哪一方面就要看自己的情况了。
以上纯属个人观点,呵呵,还不够成熟,在大家面前献献丑。现在自己也遇到了瓶颈,对于一些软件设计的概念也不是很理解,希望高手指点指点。以前学jsp觉得只是在做网页,现在觉得实质在做java,学了struts,学会用struts做登陆注册,可不知道该怎么提高了,在系统架构方面不知该怎么办,不知道该怎么从敲别人的代码转变成自己去搞设计,比如说用struts+hibernate+spring组合等等,希望高手指点指点,指一条明路,解解自己的燃眉之急!!