在学习数据结构,理论性的东西倒能看懂,比如插入排序和快排是如何实现的。但是看代码就有点矇,写更是无从下手。也就是说,知道一个原理,但不能用代码实现。这个要怎么办?是因为对语言的语法还不够熟练吗?
PS. 包括,一些其它的问题也是,有时候题目也会给出一些提示,自己也是按这个思路去想的,但就是不知道怎么用代码写出来。
求前辈们指点,多谢!
...全文
34312打赏收藏
如何学习数据结构(@turingo)?
在学习数据结构,理论性的东西倒能看懂,比如插入排序和快排是如何实现的。但是看代码就有点矇,写更是无从下手。也就是说,知道一个原理,但不能用代码实现。这个要怎么办?是因为对语言的语法还不够熟练吗? PS. 包括,一些其它的问题也是,有时候题目也会给出一些提示,自己也是按这个思路去想的,但就是不知道怎么用代码写出来。 求前辈们指点,多谢!
我大二,这个学期刚学完数据结构,有关心得分享下:
学数据结构之前都要先有一门熟悉并熟练使用的语言,我学的是C/C++的,结构也是用C++作了封装。
首先你要知道为什么要有数据结构呢?数据结构中的一些常用的结构,顺序表,栈,队列,这三个你能独立的写出来源代码吗?如果你仅仅是懂原理,那我想说的是栈就是LIFO(Last In First Out),一句话可以概括了。但是基于原理背后的实现LZ可以做到吗?
有这么一个理论:
计算机程序设计语言就是提供了一个人与计算机交流的工具,如果哪天计算机能听懂人话了那就不需要编程语言了,更不需要程序员了,当然这些是几乎不可能的,扯远了。作为写代码的我们,如果你能把一个程序的逻辑与细节先想清楚,那么至于代码就不是问题了,写代码的过程就是把自己的思维转换成计算机能理解的形式而已。你说你能看懂却实现不了,那可能是你的语言不过关,这是很可怕的,学数据结构的前提就是需要一个熟练使用的语言做支持的。要么就是你还不能深刻理解这原理。后者的可能性更大,所以不要眼高手低,要多看多思考,每一个结构的背后都是有原因的,多动手写代码,多动手去实现一些自己明白的原理,在实现的过程中你会发现你自己其实不那么清楚原理。这是我深刻的教训,希望对你有帮助