计科专业从事软件开发多年,在学校期间学习数据结构就是这种感受。
放在今天的角度来分析当年数据结构学习的内容,其实没有所谓的真正的算法,只是一些基础的数据机构而已,站在不同的角度看问题得出的结论也是不尽相同,拿出刚入行写的代码现在再去看简直不会相信这是自己写过的代码,因为在最初的想法不是想着如何更好地实现功能而不是想着使用最优的解决方案,所以初学者特别希望找到一个编程大神来指点江山,这是初学者的一个通病就是对自己的能力极其的不自信,而且始终怀疑自己是不是真的能够成为一个程序员。
数据结构在编程行业里面起到什么作用?个人的建议在学习数据结构之前,先要掌握一门编程语言,因为有了基础语言之后再去谈一些数据的类型和构造会更加的深刻,数据结构在一定层面上要比一种编程语言要重要,因为编程语言更多是一种基础语法的学习,这些基础的编程语言如何转化成具体的功能模块,对于数据结构的设计就用使用非常多了,不要把数据结构看成所谓的复杂看法,就是如同编程语言基础去对待,所以在学习期间还是要认真对待,如果在理解上存在思维的难点,就在学习完一门编程语言之后再回归去学习,现在每次回头来看数据结构的时候还是有很多新的灵感出来,基础的力量是无穷的。
如何学习数据结构?数据结构如此基础,在自己基础还不够踏实的时候,可以先从理论层面去理解,了解数据结构里面数据的抽象模型,了解这些模型使用在什么场景,以及这些模型在什么场景下去使用,同时也在培养自己的兴趣,勾起自己去使用代码实现功能的迫切愿望,所以如果去实现功能就需要有基础的编程语言支撑,所以我们买到的数据机构书籍有C语言版本,有C++版本还有java版本的,不同的编程语言在实现功能的时候,表现形式也是不相同,但大致的思路是一样的,都是对其模型的具体实现,不同编程语言的实施罢了。
数据结构学习第一阶段最关键就是真正了解概念,不理解的时候不要想着自己去实践,这样太容易浪费太多的时间,编程属于一种脑力劳动的工种,需要思考明白原理不要被实践是第一位这种理论误导,理论都行不通实践可能最终能够理解但这种学习效率太低了,如果在掌握理论的情况剩下就是理论转化实践,这种状态下学习的效率也会更加高。
初学者在学习过程中遇到问题还是非常正常的行为,学习编程的过程也是慢慢培养自信的过程,实践的越多经验会越丰富,编程的自信度越高其实编程就在于如何捅破一层窗户纸,跨过这个门槛事情就会变得简单了许多,但很多人挺不到这个结果就提前缴械投降了,做任何事情都还是需要有点耐心,不然真的可能真的一事无成,希望能帮到你。
数据结构和算法联系紧密,比较抽象,没有定式,最好是实做程序时用到学相关部分,纯看理论书籍是不入脑的,只有要用了,非学会不可时,才能学会。
如果是在学校,比较基本的知识点,在期末课题练习中用到,也逼着你学,千万不要拿或抄别人的,那不是你自己的。
简单的书,启发思维的,看看《编程珠玑》吧,教你数据结构和算法什么时候会有用,以及该怎么用。
课本上教某种算法用到某种数据结构,许多时候是为考试而考试,实际工作中灵活变通许多,理解原理是关键,死代码练再熟也未必好使。
比如关于链表,课本教单链,种种技巧,但实际上你完全可以用双链结构,用不到那么复杂的技巧,什么定位第几个、倒转之类,也可以多设计几个计数器或记忆变量去方便编程,影子表格也一样可以设计,不灵活学啥都是白搭。
课本上讲的,只起启发作用,完全照着做就傻了,这种学生考试高分没用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)