Day19
終于有空回頭看:把被耽誤的課程碎片重新拼起來
周末的下午,關掉手機通知,終于能安安靜靜坐在桌前,把之前被實訓報告、社團活動耽誤的幾門課筆記翻出來——看著本子上半半拉拉的二叉樹遍歷代碼、畫得亂七八糟的MySQL索引示意圖,還有離散圖論里沒寫完的連通分量推導,突然有種“欠了債總要還”的實感,也終于能沉下心把這些零散的知識點重新捋順。
最先撿起來的是數據結構的二叉樹。之前學到迭代法遍歷的時候,正好趕上工程實訓趕進度,只匆匆抄了代碼,注釋都沒寫全。今天重新打開IDE,對著那段“先壓右子樹再壓左子樹”的前序遍歷代碼,一步步調試:壓入根節(jié)點,彈出訪問,再壓右、壓左,看著棧里的節(jié)點一個個進出,突然懂了之前沒明白的“為什么要先右后左”——原來棧是先進后出,只有先壓右,才能讓左子樹先被訪問。之前卡了半天的“迭代邏輯”,這次居然在慢下來的調試里順通了,連帶著把中序、后序的迭代代碼也一并補完,筆記本上終于有了完整的遍歷方法對比表。
接著翻到MySQL的筆記,發(fā)現(xiàn)之前學“事務”的時候,只記了“ACID”四個字母,具體怎么用代碼實現(xiàn)完全是空白。想起實訓時寫訂單功能,因為沒加事務,出現(xiàn)過“扣了庫存卻沒生成訂單”的bug,當時只能臨時用try-catch湊活,現(xiàn)在回頭查資料,才明白要先調用setAutoCommit(false),執(zhí)行完SQL再commit(),出錯了就rollback()。趕緊寫了個小demo模擬訂單操作,看著控制臺打印“事務提交成功”,終于補上了之前的技術漏洞——原來當初踩的坑,都是因為課程沒學扎實留下的隱患。
最頭疼的還是離散數學的圖論。之前趕課的時候,把“強連通分量”和“弱連通分量”的定義記混了,筆記上畫的圖都是錯的。今天重新對著課本推導:強連通是“任意兩點雙向可達”,弱連通是“忽略邊的方向后連通”,還特意找了個社交網絡的例子類比——強連通分量是“互相關注的小圈子”,弱連通分量是“單向關注也能串起來的大群體”。畫完兩張對比圖,之前混亂的邏輯突然清晰了,連帶著數據結構里圖的遍歷也多了層理解:DFS找強連通分量,BFS找弱連通分量,原來理論和實操早就綁在了一起。
一下午下來,筆記本上的空白處被填滿,代碼里的注釋補得清清楚楚,之前心里的“慌”也慢慢落地了。其實最開始翻筆記的時候,還擔心“這么多內容沒學,肯定補不完”,但真沉下心一個個攻克,發(fā)現(xiàn)也沒那么難——耽誤的課程不是“補不回來的債”,而是需要花點時間重新梳理的“知識碎片”。
晚上打算把今天補的內容整理成思維導圖,后面每天花半小時鞏固一個知識點,避免再因為雜事堆積課程。原來學習就像種地,偶爾因為天氣耽誤了澆水施肥沒關系,只要及時補回來,莊稼照樣能長好。接下來的日子,既要趕新進度,也得把這些“舊賬”慢慢還清,這樣學后面的內容才不會總覺得“缺了點什么”~
浙公網安備 33010602011771號