博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过改写算法获得数据结构学习的更佳效果
阅读量:6827 次
发布时间:2019-06-26

本文共 858 字,大约阅读时间需要 2 分钟。

【事件】

  某名数据结构基础网络学员在“单链表的基本算法”部分连问两个问题:

老师,我while语句里面j<i-1改为j<i,else里面直接q=p可以么?

老师,你这样万一刚好q->next==NULL呢,这样没影响吧?

  我的“即时”回答,也已经是10个小时之后了,我不知道他看到解答后,状态还在不在。另外,这种问题,并非是可以、不行就简单回答的,背后很细致的考量,用有限的文字根本说不清楚。

  这名认真学习、主动思考的学员,此时需要的是在学习方法上的改进。这是比搞懂某算法细节更重要的事。行不行?有没有影响?运行并测试程序一验证就见分晓。算法一处改动,往往别处也得有动作,更具价值的“改算法”学习环节,立刻就可以实施。
  于是,有了下面的指导语——
  
【答复】
  你学得很细,我特别欣赏。你在学习过程中,能主动思考并且想到的问题也都在点上,这又是一个非常难得的学习品质。回答你“行不行”、“可以吗”的问题,实际上,我基本都会告诉你可以,背后是,算法的其他位置处也需要给出更改。所以,在“可以”或“不可以”的后面,我们关注的真正核心是这个地方改了以后,其他地方如何随之变化。在算法学习过程中,“理解已有的算法”是基本的层次,而你的学习就此可以进入“改写已有算法”的层次。鉴于网络学习的特点,我不可能给你实时的指导,我更愿意借此让你在方法上更进一步,将这种“改写”发展到极致,促进你综合能力的提高。
  具体做法是,在看视频的过程中,将这些疑点记录下来,而后,通过上机调试算法的实现代码并进行测试,这样下来,这类的问题将自主解决,价值远甚于现在的方式。 你可以到中去,那里有所有的章节的算法实现源代码,以及附加的实践项目。
  利用这些资源,你可以方便地按上面的方法开展学习。 你还可以点,进入后点学生名字中的链接,看我在学校教学中我的学生的学习情况,他们在我的面授指导和组织下,也在用同样的资源和方案学习,很显然,你这名网络学生也按同样的进程就可以学下去。
  相信你这样能将数据结构学得更加扎实!

转载地址:http://smgzl.baihongyu.com/

你可能感兴趣的文章
[LeetCode] Range Sum Query - Immutable
查看>>
maven遇到的一些问题
查看>>
OC-Q&A
查看>>
vim 命令
查看>>
BZOJ2434:[NOI2011]阿狸的打字机——题解
查看>>
BZOJ - 3963: [WF2011]MachineWorks
查看>>
第5件事 做一个有taste的产品人
查看>>
暂时记录
查看>>
MicroPython开发之物联网快速开发板
查看>>
Mysql分布式部署高可用集群方案
查看>>
PHP中常用的输出语句比较?
查看>>
windows下oracleSQLDevelpment连接ORA-12560解决办法
查看>>
【spring boot】【mybatis】spring boot中mybatis打印sql语句
查看>>
开放数组参数
查看>>
android&nbsp;setBackgroundColor
查看>>
UVa11181 条件概率
查看>>
第一个Polymer应用 - (3)使用数据绑定
查看>>
<Linux> xm 命令
查看>>
linux 常用命令
查看>>
ecna 2017 J Workout for a Dumbbell (模拟)
查看>>