摘要: 上节回顾 上节内容我们学习了自平衡二叉搜索树AVL树,在算出影响平衡的节点后,通过左旋和右旋的组合,使得整个二叉树的左右子树的高度差不大于1; 这节内容就来到了这个系列的关键点了,红黑树的相关内容; 红黑树 红黑树也是一种自平衡的二叉搜索树(以前名为平衡二叉B树) 红黑树必须满足5条性质 节点是 R 阅读全文
posted @ 2020-08-14 17:50 司霖 阅读(263) 评论(1) 推荐(0) 编辑
摘要: 上节回顾 上一章我们介绍了二叉树,二叉搜索树相关的一些知识。 当一个二叉搜索树是一个满二叉树,或者是完美二叉树的时候可以计算一下二叉搜索树的查找,插入,删除的时间复杂度。 从代码来看它们的时间复杂度都是和树的高度相关的。 满二叉树的高度是$log_2(n + 1)$,完美二叉树的高度是$floor( 阅读全文
posted @ 2020-08-14 17:49 司霖 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 序 学数据结构的时候,红黑树永远是逃不了的一关,同时也是相对比较难的一关.其中涉及的知识点之多,模式之复杂堪称一绝.这个系列就是从最基础的二叉树开始一步步的实现手写红黑树. 二叉树 从二叉树讲起是因为红黑树就是一种特殊的二叉树. 树的一些概念 讲二叉树免不了说一下它的一些基本概念: 首先,二叉树是一 阅读全文
posted @ 2020-04-21 15:46 司霖 阅读(770) 评论(0) 推荐(0) 编辑
摘要: “高内聚”用来指导类本身的设计,“松耦合”用来指导类与类之间依赖关系的设计。不过,这两者并非完全独立不相干。高内聚有助于松耦合,松耦合又需要高内聚的支持。 高内聚 相近的功能应该放到同一个类中,不相近的功能不要放到同一个类中。相近的功能往往会被同时修改,放到同一个类中,修改会比较集中,代码容易维护。 阅读全文
posted @ 2019-12-23 16:53 司霖 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 二叉树 概念 树中的元素叫做节点 连线相邻的节点之间的关系叫父子关系 节点 1. A节点是B节点的父节点,B节点是A节点的子节点。 2. C,D单个节点的父节点是同一个节点,所以他们互称为 兄弟节点 3. 把没有父节点的节点叫做 根节点 4. 没有子节点的节点叫做 叶子节点 或者 叶节点 树 1. 阅读全文
posted @ 2019-12-20 16:02 司霖 阅读(318) 评论(0) 推荐(0) 编辑
摘要: KISS原则:尽量保持简单 Keep It Simple and Stupid. Keep It Short and Simple. Keep It Simple and Straightforward. 代码的可读性,可维护性是衡量代码质量非常重要的标准。 代码足够简单,就意味着容易读懂,bug比 阅读全文
posted @ 2019-12-20 15:00 司霖 阅读(945) 评论(0) 推荐(0) 编辑
摘要: MapStruct是什么 在现在多模块多层级的项目中,应用于应用之间,模块于模块之间数据模型一般都不通用,每层都有自己的数据模型。 这种对象与对象之间的互相转换,目前都是使用get,set方法,或者使用自定义的Beans.copyProperties进行转换。 使用get,set方式会使得编码非常的 阅读全文
posted @ 2019-12-20 10:46 司霖 阅读(19883) 评论(1) 推荐(2) 编辑
摘要: 单一职责 一个类只负责完成一个职责或者功能。不要设计大而全的类,要设计粒度小、功能单一的类。单一职责原则是为了实现代码高内聚、低耦合,提高代码的复用性、可读性、可维护性。 不同的应用场景、不同阶段的需求背景、不同的业务层面,对同一个类的职责是否单一,可能会有不同的判定结果。实际上,一些侧面的判断指标 阅读全文
posted @ 2019-12-16 19:20 司霖 阅读(1045) 评论(0) 推荐(0) 编辑
摘要: CellRangeAddress cellrange = new CellRangeAddress(firstRow, lastRow, firshCol, lastCol); sheet.addMergeRegion(cellrange); 参数说明: 从0开始 int firstRow: 起始行 阅读全文
posted @ 2019-10-28 17:52 司霖 阅读(1532) 评论(0) 推荐(0) 编辑
摘要: 1 命名不规范 2 日志不规范 3 拒绝写接口和假数据 4 不写单元测试 5 盲目集成 6 逻辑不清 7 不做方案 8 不关注性能 9 害怕重构 10 做出来就好,不考虑优雅的方案 11 不考虑未来需求的变化 12 遇到问题的时候不会试错 13 不会写伪代码 14 不做数据量的预估 15 提交代码不 阅读全文
posted @ 2019-10-28 17:51 司霖 阅读(251) 评论(0) 推荐(0) 编辑