数据结构教学建议,对数据结构课程的认识,意见和建议
[问题]
老师,我想学好数据结构,但是现在有一个问题,就是我用的第一语言主要是java。我觉得学数据结构的话可以学java版本的数据结构,但是我上网找资源,大部分都是c/c资源,java价格低。我想问的是学习数据结构和语言关系不大吗?如果我学会了C的数据结构,就相当于知道了java的数据结构。更何况,怎样才能学好数据结构?请老师给我一些建议。
[回复]
数据结构确实和语言没有直接关系。现在的数据结构教材都是和语言紧密结合的。20多年前的数据结构教材用的都是伪代码。计算机专业的学生必须知道,语言只是算法的一种表达方式,专业基础里的所有课程都讲的是通则。学习这些原理,会开阔视野,超越语言和平台。如果局限于一门语言,这些原理可能不是不知道,但一条路线是从前人的经验中获得的(有机会学习理论是多么幸运,能够沉下心来学习是难能可贵的),另一条路线是以亲身经历去体验和总结(这种体验形象最深,也是一种有效的方法,特别是对于一些没有机会上大学的人。但是这种方法在实践中需要有意识的思考,当然也需要能够在一定的时间通过阅读来学习理论。其实任何学习都可以从这两条路线中找到结合点,看书和练习,两者交替进行。看书可以从正在用的书入手,最高目标《算法导论》。练习,把正在看的书里的算法变成代码。你也可以找到一个使用该算法的小应用程序。即使你对算法很熟悉,也可以用Java来实现用C写的算法,这样可以更好地体会算法抛开语言限制的味道。我做了一个关于如何跨越程序和算法之间的沟的讲座。作为参考,链接是:
http://blog..net/sxhelijian/article/details/7972827。
Java版本的数据结构比C/C少,只是相对少一些。其实只要找到适合自己的,就不必贪图太多资源。毕竟最终能成为自己能力的部分和自己拥有的信息并没有太大的关系。