算法多打就记住了,多练就行,但是还是最好个老师,自己不好学。
2. 韩顺平java视频教程
可以到比较专业的的机构去看看,这样能学到真正java的技术
3. 打算用两个月左右时间自学计算机C语言,(即将读专业计算机科学与技术,)求各路神仙指点~~
别听上面说的什么单片机,那个主要是电气和通信类学的,你学的那个专业主要是软件方向的,C语言是必学的课程,也是很重要的课程,为以后学其他的打下很好的基础,记住语言都是相通的,所以你要学好C,你说的那边书,我也学过,其实各种版本的书都差不多,就是这些内容,没必要纠结这些,重点就是指针,这是C语言的精华,指针可是程序员杀手啊,当然书上用到的指针都是很简单的一些题目咯,我建议你花上两个小时把整本书翻翻看看吧(看把戏),然后可以把书上的每一个代码都敲到电脑上运行一下,看看能否正确运行,你运行之后就会发现,书上有很多代码都有那么点错误,呵呵,主要是兴趣咯,你看前面几章的时候没必要太纠结那些定义,记住定义就行了,你越学到后面,前面理解的就越清楚,最好是学快点,不然还没看到后面的精华就忘了前面的了,进大学后,你就可以去一些大学的ACM网站(编程竞赛的)做一些C语言题目,主要是学习算法,这个对以后很有用的,锻炼你的逻辑思维哦,这是我上学期学C的经验,希望对你有帮助。
4. 我想学习一下编程的算法,最好是用java写的,因为我现在在学习java,谁的书好推荐下。
个人觉得,写算法的问题,只要真正理解它的原理,用什么语言不重要,也就是说,理解了算法,语言只是它的展现方式和实践应用,算法书网上很多,也可不买,到网上看下核心思想即可,java建议看韩顺平java视频,边看边练习,写的多了,自然有效果了。
5. 学习JAVA需要哪些基础啊。有没有网上的视频或者书籍一类的推荐几个。
编程分为: 面向过程编程 面向对象编程
ACM比赛一类的需要的主要是面向过程编程,一般ACM竞赛的题目都可以解决
举个例子
现在我有1000个数,我要找到第100大的数字,那么我们可以用选择排序,然后找到排在第100个的数, 算法的效率 是O(N^2)
如果我有10000000个数,我要找第100大的数呢,选择排序的速度就太慢了,于是我们要换一种方法去找第100大的数。 这里我们用到的方法就是算法!!
面向过程编程就要收针对一个问题进行解决,设计省空间省时间的算法!!
面向对象编程,与面向过程编程在思路上有很大的区别,主要考虑了程序的移植性,复用性,继承等等,主要在应用中会用到,比如软件开发等等
c是面向过程编程的语言,c++包含了c的特性,但是主要是属于面向对象编程,java是面向对象编程的语言
如果你这么问,我们可以做一个假设,那就是你对算法以及数据结构都没有一个很清晰的了解,或者是说没有一个更深入的理解。
我的意见是:从 算法与数据结构 入手,这类的书籍很多很泛滥,内容差不多。 等你对算法与数据结构有了深入的了解了以后再去看看 高级算法与数据结构 这些是编程思想的基础!!
计算机语言是可以触类旁通的,所以使用任何语言都没有太大关系。
总结:
1. 了解清楚什么是面向过程编程,面向对象编程,有自己的理解最好;
2. 从算法与数据结构入手,
了解各种数据结构:树,二叉树,多叉树,红黑树等等
哈希表,数组模拟链表等等
算法:贪心算法、动态规划算法、最小生成树算法、KMP算法、网络流算法等等最基本的算法
3. 练习,训练编程思想最重要的就是练习!! ACM题库就是一个很好的练习场所,浙大的题库,北大的题目,同济的题库,还有美国的题库USACO 俄罗斯的也有很多很多题库,我们高中的时候就是做这些题库的@!!
先讲这么多,祝好运哦~
6. 请教大家关于韩顺平老师课学习顺序的问题
个人建议没必要全学,
准备学javaEE的话那就学"轻松搞定网页设计"->ajax->(j2ee,j2ee jsp ,jsp这三个应该一样吧)->sturts(我记得应该是struts2)->(spring)->(hibernate或者mybatis)->ssh(其实就是strust,spring,hibernate,只看这个做东西好像就够了,具体也忘了,有问题再看前面三个也行)->(mysql或者oracle,也可以两个都学)
php的话,"轻松搞定网页设计"->php从入门到精通->ajax->zend framework->(mysql或者oracle,也可以两个都学)
xml这个看看应该就懂
mysql优化\算法\页面静态化 这些东西可以看看,跟具体什么代码实现关系不大,主要是方案和思路
7. 如何学习java
100分实在好诱人..
回答你的问题:
1 编程软件首推Eclipse,初学的话建议用3.4.2经典版的就可以了
地址:http://wiki.eclipse.org/Older_Versions_Of_Eclipse,自己挑~
不过如果想做web方面的开发可以用更高版本的,比如3.5/3.6..版本也要挑好
2 java初学教材的话:
推荐一个教材:
JAVA 2核心技术 卷I:基础知识和卷二:高级特性(第七版或以上)
这个书的中文版是可以看看的,翻译上没什么问题(我自己看过)
另外think in java我是看了一部分而已,中文版的翻译得太烂,如果要看直接看英文版。不过你看过上面的教材的话其实也没什么必要再看java编程思想了。
3 初学java需要注意的问题
java是纯面向对象的语言,它的重要优势就是设计模式的应用,在写代码的时候务必不能像写C程序一样面向过程;也就是时刻要记住面向对象设计..多考虑接口.. 可以看看Java 设计模式相关资料。
其次,光做书上的例子意义不大,找一个自己喜欢的项目来做,边做边学,积极性和效率会高很多。
4 其他准备工作:
首先给自己一个信心和决心,千万别半途而废;
给自己定一个合理的计划。
最后祝你成功~~ 哈哈哈
8. 哪位大神能帮我解释一下韩顺平在Java中讲的快速排序程序为什么这么写l++和++l有什么区别不盛感激啊!
在这里没区别.如果int b = 0;int a = b++; a是0,b是1.如果int b = 0;int a = ++b; a是1,b是1.++写在前面先自加1,然后返回.++写在后面先返回,后自加1.
具体算法做了什么的话,看看视频讲的,也可以直接搜快速排序看网络,讲的很清楚