通过改写算法获得数据结构学习的更佳效果

简介: 【事件】   某名数据结构基础网络学员在“单链表的基本算法”部分连问两个问题: 老师,我while语句里面j<i-1改为j<i,else里面直接q=p可以么? 老师,你这样万一刚好q->next==NULL呢,这样没影响吧?  我的“即时”回答,也已经是10个小时之后了,我不知道他看到解答后,状态还在不在。另外,这种问题,并非是可以、不

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

老师,我while语句里面j<i-1改为j<i,else里面直接q=p可以么?
老师,你这样万一刚好q->next==NULL呢,这样没影响吧?

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

目录
相关文章
|
20天前
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
31 1
|
24天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
74 4
|
21天前
|
存储 算法 搜索推荐
Python 中数据结构和算法的关系
数据结构是算法的载体,算法是对数据结构的操作和运用。它们共同构成了计算机程序的核心,对于提高程序的质量和性能具有至关重要的作用
|
21天前
|
数据采集 存储 算法
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?
|
29天前
|
算法
数据结构之路由表查找算法(深度优先搜索和宽度优先搜索)
在网络通信中,路由表用于指导数据包的传输路径。本文介绍了两种常用的路由表查找算法——深度优先算法(DFS)和宽度优先算法(BFS)。DFS使用栈实现,适合路径问题;BFS使用队列,保证找到最短路径。两者均能有效查找路由信息,但适用场景不同,需根据具体需求选择。文中还提供了这两种算法的核心代码及测试结果,验证了算法的有效性。
95 23
|
29天前
|
算法
数据结构之蜜蜂算法
蜜蜂算法是一种受蜜蜂觅食行为启发的优化算法,通过模拟蜜蜂的群体智能来解决优化问题。本文介绍了蜜蜂算法的基本原理、数据结构设计、核心代码实现及算法优缺点。算法通过迭代更新蜜蜂位置,逐步优化适应度,最终找到问题的最优解。代码实现了单链表结构,用于管理蜜蜂节点,并通过适应度计算、节点移动等操作实现算法的核心功能。蜜蜂算法具有全局寻优能力强、参数设置简单等优点,但也存在对初始化参数敏感、计算复杂度高等缺点。
59 20
|
20天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
49 1
|
1月前
|
存储 算法 安全
2024重生之回溯数据结构与算法系列学习之串(12)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丟脸好嘛?】
数据结构与算法系列学习之串的定义和基本操作、串的储存结构、基本操作的实现、朴素模式匹配算法、KMP算法等代码举例及图解说明;【含常见的报错问题及其对应的解决方法】你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
2024重生之回溯数据结构与算法系列学习之串(12)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丟脸好嘛?】
|
29天前
|
机器学习/深度学习 算法 C++
数据结构之鲸鱼算法
鲸鱼算法(Whale Optimization Algorithm,WOA)是由伊朗研究员Seyedali Mirjalili于2016年提出的一种基于群体智能的全局优化算法,灵感源自鲸鱼捕食时的群体协作行为。该算法通过模拟鲸鱼的围捕猎物和喷出气泡网的行为,结合全局搜索和局部搜索策略,有效解决了复杂问题的优化需求。其应用广泛,涵盖函数优化、机器学习、图像处理等领域。鲸鱼算法以其简单直观的特点,成为初学者友好型的优化工具,但同时也存在参数敏感、可能陷入局部最优等问题。提供的C++代码示例展示了算法的基本实现和运行过程。
49 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR
阿里云人工智能平台 PAI 与复旦大学王鹏教授团队合作,在自然语言处理顶级会议 EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。
下一篇
DataWorks