学习一门课程的方式有很多,对于数据结构,建议先到某站上选择一个播放量高一点的串讲视频课程把所有的数据结构内容过一遍,有人带着你学习会高效很多。
看视频学习的过程中,记录下每种结构的定义和特征,每次学完一个数据结构最好再用c语言手敲下代码,刚开始可以逐行照着讲解抄。不要觉得抄代码丢人哈,和小孩学学写字一样,最开始就是要模仿的,模仿多了就能找到感觉,有了感觉才能逐渐深入理解。
等到你把概念还有对应的练习内容都完成一遍,数据结构的框架、特点基本就都掌握了。接下来就是找实际的场景去运用它们了。其实真实的企业开发工作中原模原样的使用这些数据结构的机会也是不多的,但是有种平台却非常适合我们去使用数据结构,同时也能帮助我们进一步理解和掌握。那就是像leetcode这样的刷题网站。
如果你学习数据结构是准备着以后有机会从事研发类的工作,那leetcode对你正好也会个必需品。类似的其他平台也是可以的,非托,自己百度下就行。通过在平台上搜索和所学习的数据结构相关联的算法题可以让人更清晰的认识其真正的作用和用途。
数据结构和算法其实是不分家的,都是对于问题解空间的描述载体,数据结构勾勒解决方案的物理结构,而算法则描绘解决方案的逻辑结构,两者结合才能完美呈现整体的解决方案。学习了数据结构,可以顺带把算法也学学。
如果还想知道数据结构在工业界的应用,可以尝试学习下主流编程语言的底层逻辑实现,例如TreeMap实现原理、ArrayList、LinkedList、HashMap、JVM内存结构、Java垃圾回收机制等等,都是非常好的数据结构应用实例。