通过改写算法获得数据结构学习的更佳效果
来源:互联网 发布:数据库系统概论答案pdf 编辑:程序博客网 时间:2024/05/22 13:30
【事件】
某名数据结构基础网络学员在“单链表的基本算法”部分连问两个问题:
老师,我while语句里面
j<i-1
改为j<i
,else里面直接q=p
可以么?
老师,你这样万一刚好q->next==NULL
呢,这样没影响吧?
我的“即时”回答,也已经是10个小时之后了,我不知道他看到解答后,状态还在不在。另外,这种问题,并非是可以、不行就简单回答的,背后很细致的考量,用有限的文字根本说不清楚。
这名认真学习、主动思考的学员,此时需要的是在学习方法上的改进。这是比搞懂某算法细节更重要的事。行不行?有没有影响?运行并测试程序一验证就见分晓。算法一处改动,往往别处也得有动作,更具价值的“改算法”学习环节,立刻就可以实施。
于是,有了下面的指导语——
【答复】
你学得很细,我特别欣赏。你在学习过程中,能主动思考并且想到的问题也都在点上,这又是一个非常难得的学习品质。回答你“行不行”、“可以吗”的问题,实际上,我基本都会告诉你可以,背后是,算法的其他位置处也需要给出更改。所以,在“可以”或“不可以”的后面,我们关注的真正核心是这个地方改了以后,其他地方如何随之变化。在算法学习过程中,“理解已有的算法”是基本的层次,而你的学习就此可以进入“改写已有算法”的层次。鉴于网络学习的特点,我不可能给你实时的指导,我更愿意借此让你在方法上更进一步,将这种“改写”发展到极致,促进你综合能力的提高。
具体做法是,在看视频的过程中,将这些疑点记录下来,而后,通过上机调试算法的实现代码并进行测试,这样下来,这类的问题将自主解决,价值远甚于现在的方式。 你可以到课程主页中去,那里有所有的章节的算法实现源代码,以及附加的实践项目。
利用这些资源,你可以方便地按上面的方法开展学习。 你还可以点链接…,进入后点学生名字中的链接,看我在学校教学中我的学生的学习情况,他们在我的面授指导和组织下,也在用同样的资源和方案学习,很显然,你这名网络学生也按同样的进程就可以学下去。
相信你这样能将数据结构学得更加扎实!
- 通过改写算法获得数据结构学习的更佳效果
- 使用 ClearType 获得更佳的屏幕分辨率
- 通过WriteProcessMemory改写进程的内存
- 通过WriteProcessMemory改写进程的内存
- 数据结构与算法的学习
- 学习数据结构 -> 算法的介绍 .
- 神器 VisuAlgo:通过动画学习算法和数据结构
- 神器 VisuAlgo:通过动画学习算法和数据结构
- 神器 VisuAlgo:通过动画学习算法和数据结构
- 神器 VisuAlgo:通过动画学习算法和数据结构
- 利用VisuAlgo通过动画学习算法和数据结构
- 图片集效果 改写
- 通过miscdevice获得驱动私有数据结构体时file->private_data为空的解决方法
- js获得剪贴板的内容 待更
- 要学习的数据结构与算法
- 要学习的数据结构和算法
- 数据结构学习笔记之欧几里的算法
- java数据结构和算法的学习
- 在MyEclipse2016 中使用maven 部署项目到 tomcat中的步骤
- c# collections之哈希表Hashtable的理解
- derivative
- Reverse Second Half of Linked List
- 机器学习:MNIST实例(1)
- 通过改写算法获得数据结构学习的更佳效果
- 第九章 复习题
- 在PowerDesigner中表显示中添加Code的显示
- 语言学习
- 在keil中使用头文件实现多文件编程
- MAX7219芯片简单驱动
- mysql新建数据表后打开提示没有主键
- 计算机可靠性--挖掘之九
- stm32定时器配置