编程分为:面向过程的编程,面向对象编程
ACM游戏的需求,是面向过程的编程,可以解决一般的ACM竞赛的主题
例如
现在我有1000多个,我想找到的100号码,那么我们可以选择排序,然后找到排名第100位,该算法的效率是O(N ^ 2)
>
如果我有10 100万美元,我在寻找的100号码,选择排序的速度太慢了,所以我们要改变的方式去100号。在这里,我们使用的方法是算法! !
面向过程的编程,需要关闭一个需要解决的问题,算法设计,节省空间,节省时间! !
面向对象编程和面向过程的编程思想,有很大的区别,主要考虑程序的可移植性,可重用性,继承等,在应用程序中使用,如软件发展等
c程序的面向对象编程语言,C + +,C包含的特点,但主要是属于面向对象的编程,Java是一种面向对象的编程语言
如果你问,我们可以做一个假设,它是你的算法和数据结构还不是十分清楚的认识,或没有更深入的了解。
我的建议是:开始的算法和数据结构,有很多这样的书,洪水,几乎内容。和其他先进的算法和数据结构的编程思想的基础上,可以看看你了解的算法和数据结构后! !
计算机语言的比喻,使用任何语言,没有那么多。
总结:
1。清楚地了解什么是面向过程的编程,面向对象编程,最好的理解;
开始的算法和数据结构,
了解
算法的各种数据结构:树,多树,二叉树,红黑树等
哈希表,数组,模拟链表:贪心算法,动态规划算法,最小生成树算法,KMP算法,网络流算法的基本算法
3。实践中,培训的编程思想是最重要的,是要实践! ! ACM问题是一个很好的地方练习,学科的考试,浙江大学,北京大学,同济大学没有通过考试的美国USACO俄罗斯的,也有很多的考试,我们的高中做这些Q&@! !
第一次说了这么多,祝你好运哦?
java 设计模式 23种常用设计模式掌握好的话,重构不成问题
Thinking in JAVA
很好的一本书,推荐看英文版。
Java套接字编程,可以去看看,有一本书叫“微博是怎样炼成的”还不错,自己去搜索。很少有Socket编程,线程,IO知识,计算机网络查找,可以用java做网络评论的情况下做的很底。可以在“TCP / IP详解:第1卷协议”非常认真,然而,在Unix下用C语言来看看。
那里的JavaWeb,学习有关知识的HTML,CSS,JavaScript,JSP,JDBC,了解包括Spring,Hibernate,Struts框架,学习数据库知识,如一些详细的Oracle数据库。是什么触发序列,存储过程啊。然后设计模式,UML,面向对象的设计方法啊,啊。最后,你会觉得你想了解的东西成倍增加的趋势。 。 。
Think in JAVA