摘要: 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用。这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访问,是一种行之有效的解决方案。 典型模式: Composite Iterator Chain of Respo 阅读全文
posted @ 2023-12-03 21:26 blogzzt 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 1 模式动机 外观模式属于“接口隔离模式”的一种。 下图中,A方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。 如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦? 阅读全文
posted @ 2023-12-03 17:11 blogzzt 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1 模式动机 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。 如何应对这种“迁移的变化”?如何既能利用现有对象(老接口)的良好实现,同时又能满足新的应用环境所要求的接口? Adapter模式主要应用于“希望复用一些现存 阅读全文
posted @ 2023-11-29 23:53 blogzzt 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1 模式动机 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式 阅读全文
posted @ 2023-11-26 21:46 blogzzt 阅读(8) 评论(0) 推荐(0) 编辑
摘要: UML模型图中类图是依据系统结构从静态观点描述系统的视图,它定义系统中的对象和类及类之间的关系,以及类的内部结构,即类的属性和操作。 通过分析图书管理系统的用例模型和系统功能需求,作为借阅者(Borrower)需要有查书、借书、还书的行为(BorrowerInf),老师(Teacher)和学生(St 阅读全文
posted @ 2023-11-26 21:10 blogzzt 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 1. 左值、右值、左值引用以及右值引用 左值:一般指的是在内存中有对应的存储单元的值,最常见的就是程序中创建的变量 右值:和左值相反,一般指的是没有对应存储单元的值(寄存器中的立即数,中间结果等),例如一个常量,或者表达式计算的临时变量 int x = 10 int y = 20 int z = x 阅读全文
posted @ 2023-11-07 19:26 blogzzt 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1. 双指针 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 1)滑动窗口 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 例题: class Solution { publ 阅读全文
posted @ 2023-10-06 21:43 blogzzt 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 介绍 为什么会有polynomial呢?因为特征值求解的常用技术比如幂迭代等,会用到polynomial,这些多项式迭代可以写成这种形式,,q代表polynomial的度数。我们因此需要一些近似(approximation)技巧构造一个好的多项式$p_q$。 Filtering方法的用处:增加收敛性 阅读全文
posted @ 2023-10-03 11:06 blogzzt 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 思路 1. 初版 cmake + 单一.cpp文件 参考:https://blog.songjiahao.com/archives/362 2. 改良版 cmake + 源文件、头文件(含List、Tree等数据结构)分离 + gtest 参考:https://github.com/Pokerpok 阅读全文
posted @ 2023-09-10 16:27 blogzzt 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 怎么想到要用单调栈的? 这类题目的数据通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置(寻找边界),此时我们就要想到可以用单调栈了。 42. 接雨水 这道题就是要求解每一个柱子左边第一个比它高的柱子,以及右边第一个比它高的柱子,然后这两个柱子间形成的凹槽面积。 注意,是 阅读全文
posted @ 2023-09-03 15:54 blogzzt 阅读(43) 评论(0) 推荐(1) 编辑