当前位置: 首页 > news >正文

Day 18

复习日:把散落的知识点,织成可落地的网

原本计划学新内容,可翻了翻最近的笔记,发现二叉树遍历、MySQL查询、离散图论的知识点像散落在抽屉里的零件——单独看都认识,凑到一起却不知道怎么联动。索性花一天时间复盘,没想到越复习越清晰,原来之前孤立的知识点,早就藏着千丝万缕的联系。

上午先扎进数据结构的“老地盘”。之前学二叉树时,总觉得递归和迭代是两套无关的逻辑,今天对着前序遍历的代码反复调试:递归版用“根→左→右”的口诀就能写,迭代版要手动用栈存节点,先压右再压左。看着控制台输出的相同序列,突然想通了:递归的“隐式栈”和迭代的“显式栈”本质是一回事,只是前者把栈操作藏在了底层,后者需要自己拆解步骤。接着又把二叉树和之前学的队列联系起来,想起老师说的BFS遍历,其实就是用队列存每一层的节点,这不就是“队列先进先出”特性的实际应用吗?原来数据结构不是孤立的“工具”,而是能互相配合解决问题的“组合拳”。

下午转头复习MySQL和Java的联动。之前写图书管理系统的登录功能时,只是生硬地把SQL语句嵌在Servlet里,今天复习时特意重构了代码:把数据库连接写成工具类,查询用户信息时用PreparedStatement替代Statement,还加了结果集的异常处理。测试时发现,这样改不仅代码更整洁,还解决了之前偶尔出现的“连接泄露”问题。更意外的是,复习到MySQL的索引时,突然明白之前查询图书时速度慢的原因——没给book_name字段加索引,加上索引后再用like '%Java%'模糊查询,响应速度明显快了很多。原来“数据库优化”不是课本上的空话,而是能直接提升项目性能的实操技巧。

傍晚把离散数学的图论和数据结构的图结合起来看,更是豁然开朗。离散里的“连通分量”,对应到数据结构的图就是“彼此独立的子图”;离散里的“强连通图”,在实际应用中就是社交网络里的“互相关注圈子”。之前做图的遍历练习时,总搞不清“深度优先”和“广度优先”的区别,今天用离散的逻辑一梳理:深度优先像“一条路走到黑”(用栈实现),广度优先像“逐层扩散”(用队列实现),瞬间就分清了两种遍历的适用场景。原来离散数学不是“纯理论”,而是给数据结构提供逻辑支撑的“底层框架”——没有这些抽象的定义,就没法清晰地设计图的遍历算法。

一天复习下来,看着整理好的笔记和重构后的代码,突然觉得学习就像拼图:之前学的每个知识点都是单独的碎片,复习就是找到碎片之间的契合点,把它们拼成一幅完整的图。之前总怕学了忘,现在才明白,复习不是“重复看旧内容”,而是“把知识点串联起来,形成可落地的逻辑链”。

明天打算带着这份“知识网”,完善图书管理系统的图书分类功能——用二叉树存储分类层级,用MySQL存储分类数据,用图论的逻辑处理分类之间的关联。原来复习的意义,就是让学到的知识不再“悬浮”,而是能实实在在地用到项目里~

http://www.jsqmd.com/news/24997/

相关文章:

  • Jenkins Share Library教程 —— 企业级 Jenkins Shared Library 实战示例
  • STM32之fromelf生成bin和反汇编文件
  • 25.10.28联考题解
  • 2025年河南工业大学2025新生周赛(1)
  • excel查找满足条件的第二项
  • 【传奇开心果系列】基于Flet框架实现的跷跷板动画自定义模板特色和实现原理深度解析 - 指南
  • CF506E Mr. Kitayutas Gift
  • 常用存储器介绍
  • 记录一次成功的springBoot
  • 2025.10.28总结
  • 代码大全2阅读笔记(1)
  • 进程与进程间通信(IPC)
  • QT:键盘事件(添加资源图片)
  • 2025.10.28
  • docker desktop:更新WSL2+安装nginx
  • # 学代码--看懂了但是不会写
  • 2025-10-28 aoao Round 比赛总结
  • P11307 [COTS 2016] 建造费 Pristojba 分析
  • 程序员如何打破职业瓶颈?先搬开这3块绊脚石。
  • 乱学点东西#2 :菠萝/蓝莓/Boruvka算法
  • 文件清理,推荐几款常用软件
  • AI时代的设计师:从工具到“超人”的进化之路
  • MyBatis 动态 SQL 实现原理 - Higurashi
  • bililun
  • 《程序员修炼之道:从小工到专家》观后感第二篇
  • 【学习笔记】数据结构全家桶
  • 社区
  • 「Gym 102759I」Query On A Tree 17
  • Mybatis使用简述
  • C++里的代码命名规范