如何学习数据结构--致刚上大二的学弟学妹
数据结构其实是从各种应用中抽象出来的东西。刚开始学习的时候可能感觉有些费力。而且不知道学了有什么用处。这对于大二的学生来说,是很正常的事。而且大二刚学会c与c++,对模版,指针的编程可能还有些困难。
但是只要从简单的做起,从最基本的线性表开始编程,也还是会有突破的。但要切忌:绝对不能比这书本敲代码,即使书本已经帮你实现了。因为那样写出来的代码不是自己的。要学会自己思考着写代码,写自己的代码。
数据结构的精髓就在于它的思想。而并不是编程怎样实现。因为现在c++,java,c#都已经帮你实现好了这些数据结构。要学会怎么利用这些数据结构来解决现实中的问题。而不是单单只会编一个栈或着一个树之类的。
在学数据结构的时候,可以把思路放开扩些。看看现实中什么地方用到了这些数据结构。也多想想这些数据结构将会用在什么地方。
现在要编写数据结构的代码,不一定非用指针不可,也不一定非用模版。链表可以用数组代替,指针可以用数组下标代替。虽然写出来的程序不通用。但是却可以掌握了某种数据结构的特性。(虽然在一定的情况下,数组不能代替链表)
数据结构本来就应该用在应用中间。当没有任何需求的时候,任何数据结构都是垃圾。所以我主张大家学数据结构的时候先写main来进行测试。将想实现的功能先放在main中,然后在一点点的实现自己的数据结构。