Day19
终于有空回头看:把被耽误的课程碎片重新拼起来
周末的下午,关掉手机通知,终于能安安静静坐在桌前,把之前被实训报告、社团活动耽误的几门课笔记翻出来——看着本子上半半拉拉的二叉树遍历代码、画得乱七八糟的MySQL索引示意图,还有离散图论里没写完的连通分量推导,突然有种“欠了债总要还”的实感,也终于能沉下心把这些零散的知识点重新捋顺。
最先捡起来的是数据结构的二叉树。之前学到迭代法遍历的时候,正好赶上工程实训赶进度,只匆匆抄了代码,注释都没写全。今天重新打开IDE,对着那段“先压右子树再压左子树”的前序遍历代码,一步步调试:压入根节点,弹出访问,再压右、压左,看着栈里的节点一个个进出,突然懂了之前没明白的“为什么要先右后左”——原来栈是先进后出,只有先压右,才能让左子树先被访问。之前卡了半天的“迭代逻辑”,这次居然在慢下来的调试里顺通了,连带着把中序、后序的迭代代码也一并补完,笔记本上终于有了完整的遍历方法对比表。
接着翻到MySQL的笔记,发现之前学“事务”的时候,只记了“ACID”四个字母,具体怎么用代码实现完全是空白。想起实训时写订单功能,因为没加事务,出现过“扣了库存却没生成订单”的bug,当时只能临时用try-catch凑活,现在回头查资料,才明白要先调用setAutoCommit(false),执行完SQL再commit(),出错了就rollback()。赶紧写了个小demo模拟订单操作,看着控制台打印“事务提交成功”,终于补上了之前的技术漏洞——原来当初踩的坑,都是因为课程没学扎实留下的隐患。
最头疼的还是离散数学的图论。之前赶课的时候,把“强连通分量”和“弱连通分量”的定义记混了,笔记上画的图都是错的。今天重新对着课本推导:强连通是“任意两点双向可达”,弱连通是“忽略边的方向后连通”,还特意找了个社交网络的例子类比——强连通分量是“互相关注的小圈子”,弱连通分量是“单向关注也能串起来的大群体”。画完两张对比图,之前混乱的逻辑突然清晰了,连带着数据结构里图的遍历也多了层理解:DFS找强连通分量,BFS找弱连通分量,原来理论和实操早就绑在了一起。
一下午下来,笔记本上的空白处被填满,代码里的注释补得清清楚楚,之前心里的“慌”也慢慢落地了。其实最开始翻笔记的时候,还担心“这么多内容没学,肯定补不完”,但真沉下心一个个攻克,发现也没那么难——耽误的课程不是“补不回来的债”,而是需要花点时间重新梳理的“知识碎片”。
晚上打算把今天补的内容整理成思维导图,后面每天花半小时巩固一个知识点,避免再因为杂事堆积课程。原来学习就像种地,偶尔因为天气耽误了浇水施肥没关系,只要及时补回来,庄稼照样能长好。接下来的日子,既要赶新进度,也得把这些“旧账”慢慢还清,这样学后面的内容才不会总觉得“缺了点什么”~
浙公网安备 33010602011771号