计算机科学核心课程——《数据结构与算法》《数据库系统原理》《软件工程》三大主干知识体系的关键概念、经典算法、核心模型与工程实践要点。以下是对这三大部分的结构化梳理与学习建议便于系统复习或构建知识图谱✅ 一、【数据结构与算法】——重在“理解机制 掌握适用场景”复杂度分析时间/空间复杂度是算法选型的基石需熟练掌握常见操作如数组访问 O(1)链表查找 O(n)二分查找 O(log n)归并排序 O(n log n)。线性结构顺序表缓存友好、随机访问快、单/双向链表动态增删优、循环队列避免假溢出、双端队列Deque支持两端插入删除。串匹配BF暴力O(mn)→ KMP预处理 next 数组O(mn)重点理解next[j]的含义与构造逻辑。树与高级BST二叉树遍历递归/非递归、线索化、表达式树BST中序遍历有序AVL严格平衡高度差 ≤1旋转类型LL/LR/RR/RL红黑树近似平衡5大性质插入/删除后通过变色旋转维护STLmap/set底层实现哈夫曼树带权路径最短贪心构造用于无损压缩如ZIP。图算法存储邻接矩阵稠密图、邻接表稀疏图遍历DFS栈/递归适合连通性、环检测、BFS队列适合最短路径无权图MSTPrim点集扩展适合稠密图用堆优化为 O(E log V)Kruskal边排序并查集适合稀疏图O(E log E)最短路径Dijkstra单源、非负权贪心优先队列Floyd多源、动态规划、可处理负权但不能有负环拓扑排序AOV网DFS 或入度队列法关键路径AOE网求最早/最晚发生时间找关键活动。查找与排序查找哈希开放定址/链地址法注意冲突处理与装填因子BST/AVL/红黑树动态有序集合排序理解稳定性如归并稳定、快排不稳定、原地性堆排原地归并不原地、适用场景小数组插排、大数据快排/堆排/归并。算法设计范式分治子问题独立如归并、快排、Strassen矩阵乘动态规划重叠子问题 最优子结构0-1背包、LCS、Floyd、最长上升子序列。✅ 二、【数据库系统】——重在“理论建模 工程权衡”数据模型演进从层次/网状紧耦合、难维护→ 关系模型基于集合论、SQL标准化→ 面向对象/NoSQL应对高并发、半结构化数据。关系代数是SQL语义基础。例如σ_{age25}(Student)→WHERE age 25π_{name, dept}(Student ⨝_{idsid} Enroll)→SELECT name, dept FROM Student JOIN Enroll...SQL核心掌握子查询相关/不相关、GROUP BY HAVING、JOIN类型INNER/LEFT/RIGHT/FULL、窗口函数OVER。视图虚表提升安全性权限控制与逻辑独立性重构底层不影响应用。索引B树MySQL InnoDB 默认所有数据在叶子节点、叶子间有链表、更适合范围查询聚簇索引主键组织物理存储、非聚簇索引二级索引回表查询。规范化理论1NF原子性→ 2NF消除非主属性对部分码依赖→ 3NF消除传递依赖→ BCNF消除主属性对非码的依赖Armstrong公理自反律、增广律、传递律用于推导闭包无损连接分解可通过“Chase过程”或判断是否含候选码子集验证。事务与并发ACID原子性undo log、一致性应用DB共同保证、隔离性MVCC / 锁、持久性redo log封锁协议一级写锁到事务结束、二级读加S锁写加X锁均持续到事务结束、三级S锁可提前释放两段锁2PL增长阶段只加锁、收缩阶段只解锁保证可串行化死锁预防超时/等待图、检测周期检测、解除回滚代价最小事务。✅ 三、【软件工程】——重在“过程管理 质量保障 模型驱动”生命周期模型瀑布线性、文档驱动适合需求稳定敏捷Scrum/Kanban迭代增量、拥抱变化、强调人与沟通《敏捷宣言》四大价值观螺旋模型风险驱动结合瀑布原型适合高风险大型项目。UML图定位用例图需求视角Actor ↔ Use Case类图静态结构类/接口/关系泛化、关联、聚合、组合、依赖时序图动态交互生命线激活条消息箭头强调时间顺序活动图流程逻辑类似带泳道的流程图支持并发分支状态图对象生命周期状态变迁组件/部署图物理架构模块依赖与节点分布。需求工程V模型中需求规格说明书SRS是测试用例的源头需求验证常用原型法、评审会、可追溯性矩阵。结构化分析DFD0层→1层细化注意数据流守恒、数据字典定义所有数据流/文件/加工、加工逻辑结构化语言/判定表/判定树。设计原则高内聚模块职责单一、低耦合模块间依赖弱耦合由强到弱内容 控制 特征 标记 数据 非直接内聚由弱到强巧合 逻辑 时间 过程 通信 顺序 功能。测试技术白盒MC/DC修正条件/判定覆盖是航空安全关键标准黑盒边界值上点、离点、内点、等价类有效/无效、决策表多条件组合测试级别单元JUnit、集成接口联调、系统端到端、验收UAT用户确认。综合学习建议✅画知识脑图以“树”为中心向下展开BST/AVL/红黑树对比以“事务”为中心延伸ACID、隔离级别、锁机制、日志类型✅手写关键代码/伪代码如KMP next数组构造、AVL旋转、Dijkstra堆实现、B树插入分裂、SQL JOIN执行计划✅对比记忆如Prim vs Kruskal、Dijkstra vs Floyd、3NF vs BCNF、瀑布 vs 敏捷、白盒 vs 黑盒✅真题驱动结合408统考、软考高项、大厂面试题强化“问题→模型→算法→优化”的解题链。需要我为你生成某一部分如KMP详解 / B树插入动画描述 / UML时序图实例 / SQL事务隔离级别实验的深度解析提供配套思维导图Markdown/XMind格式或高频考点速记卡片设计一套涵盖三科的综合自测题含答案与解析