不靠电脑打字真的能弄懂代码吗?

 
不靠电脑打字真的能弄懂代码吗?
 我不知道,当今晚决心奋战补习第七章的图时,学领接矩阵矩阵和领接表的代码时我虽然已经弄懂了图转换成邻接矩阵和邻接表是什么样的(同时证明用习题来学习比单纯看书更高效),但是看到它的代码部分时我还是一脸懵逼。
 
大学给的《数据结构C语言实现》代码可读性极差,也不能上机照敲,于是我就用《大话数据结构》去自学,由于所看自学书是电子书的关系,我很难,也懒得在上面批注,同时由于阅读媒介的特殊也相对有些抵触心理,比如看电子书相比看纸质书就更不想去抄图;而且也不可能进行跨页的浏览,也就是说,如果结构图在287页而代码描述在291页,我就是反复的滑滚轮也不能把两页的内容很块地联系起来,而纸质书我只要伸个胳膊卡住就能同时看了。
我想,针对ADT的样式和介绍的学习仅需书纸笔外加习题就能完成,但是算法随着ADT复杂度的增加仅凭线下的工作是不能理解清算法思想的,那个领接矩阵的实现代码在我照着自学书的源码照敲了一遍以后,便豁然开朗了。
 
学到现在,我感觉数据结构大体分为两个部分:概念阐述和算法实现,相比概念,算法实现的学习最后必须依靠线上,所花的时间成本也远大于概念学习,我觉得像老师那样把代码放在幻灯片上细讲的做法纯粹在浪费时间。因为放映的都是某部分功能而不是整套算法,学的时候很难把眼前算法里的一些变量跟最上面的typedef的各种属性联系起来,再联系到结构图例以弄清楚是讲了什么,课上先讲的ADT在脑子里记不住,老师就就跳转到算法上去了,最后导致尽管看懂了概念,看代码却依然如天书一般,看不到最后的输出(既背后的数据结构整个操作的过程)。
 
但是弄懂代码的"输入"一定就是用电脑把整章程序都敲出来吗?我不知道,反正我从来就没有从老师在课上的讲解或者上机后不敲代码,直接调试书本源码的过程中弄懂过对应的算法。
posted @ 2020-11-16 07:42  另一种开始  阅读(144)  评论(0编辑  收藏  举报