计算机科学与工程选修
现代 Java Backend Engineering 学习路线:计算机科学与工程选修
0 子目录2 文档
文档
2数据结构、算法复杂度与工程化解题方法数据结构、算法复杂度与工程化解题方法 数据结构决定数据如何组织,算法决定如何变换数据。后端开发并非每天手写红黑树,但需要用复杂度判断集合选择、分页、缓存、调度和热点路径是否会随数据量失控。 1. 学习目标 掌握时间/空间复杂度与摊还分析 理解线性表、栈、队列、哈希、树、堆、图 掌握排序、查找、递归、回溯、贪心和动态规划的适用边界 2. 核心概念 1. 复杂度与输入规模 大 O 描述输入规模增长时资源消耗的上界增长级别,忽略常数与低阶项;设计原则、UML 与常用设计模式设计原则、UML 与常用设计模式 设计的目标是让变化被限制在清晰边界内。原则帮助评审权衡,UML 提供沟通记号,模式记录反复出现的设计结构;三者都服务于具体问题,而不是为了增加类数量。 1. 学习目标 理解高内聚、低耦合与 SOLID 能读写必要的类图和时序图 掌握工厂、策略、适配器、装饰器、观察者、模板方法、责任链 2. 核心概念 1. SOLID 与依赖方向 单一职责关注变化原因;开闭原则鼓励扩展而非散布修改;里氏替换要求子类型保持