- 博客(13)
- 收藏
- 关注
原创 Astar算法
效率低、耗费过多的计算空间与时间隶属于A算法 提出:斯坦福大学的N.J.Nilsson、P.E.Hart等人 目前最有影响的启发式图搜索算法,也称为最佳图搜索算法。特点:估价函数的定义。
2025-06-11 14:35:07
250
原创 LCA-祖孙问询
给定一棵包含 nn 个节点的有根无向树,节点编号互不相同,但不一定是 1∼n1∼n。有 mm 个询问,每个询问给出了一对节点的编号 xx 和 yy,询问 xx 与 yy 的祖孙关系。
2025-05-31 16:09:56
154
原创 设计模式-代理模式
代理模式是一种结构性设计模式,它为其他对象提供一种代理以控制该对象的访问。通过代理对象,可以对实际对象的功能进行增强、限制、延迟加载等操作,而不改变实际对象的代码。角色:抽象主题(抽象基类)+真实主题(委托类:实际完成功能得类)+代理(内部有一个基类指针,并控制访问权限)
2024-12-19 12:30:14
409
原创 手写数据库连接池
为了提高MySQL数据库(基于C/S设计)的访问瓶颈,除了在服务器端增加缓存服务器缓存常用的数据之外(例如redis),还可以增加连接池,来提高MySQL Server的访问效率,在高并发情况下,大量的所耗费的性能时间也是很明显的,增加连接池就是为了减少这一部分的性能损耗。
2024-12-15 12:03:27
440
原创 设计模式-观察者模式
在类和类的关系中,观察者模式类似是一种委托(Delegation) + 继承(Inheritance)的关系, 主题中的observer指针,可以看作为subject对observer的委托, 而继承关系就是,每一个观察者子类继承基类观察者并重写处理消息的接口,以此来实现对不同事件的观察。监听者模式 (发布-订阅模式) : 主要关注的是对象的一对多的关系,也就是多个对象都依赖一个对象,当该对象的状态发生改变时,其它对象都能够接收到相应的通知。主题有更改,应及时通知相应的观察者,去处理相应的事件。
2024-12-07 19:18:03
173
原创 设计模式-装饰器模式
它允许在不改变现有对象结构的情况下,动态地将新行为添加到对象中。它通过将对象包装在具有相同接口的装饰器中,然后通过组合来添加新的功能或修改原始对象的行为。装饰器模式的本质在于通过组合而非继承的方式来拓展对象的功能。它提供了一种灵活的方式来添加或修改对象的行为,同时遵循开闭原则。
2024-12-07 19:11:22
446
原创 lambda表达式
lambda表示是是C++11引入的一种函数对象,可以方便地创建匿名函数。与传统地函数不同,Lambda表达式可以在定义时直接嵌入代码,无需单独定义函数名称、参数和返回值等信息。默认情况下, lambda函数总是一个const函数,mutable可以取消其常量性。: 以传值的方式捕获外部的所有变量, 但a变量以传引用的方式捕获。表示以值传递方式捕获所有父作用域变量(包括this)以引用传递方式捕获所有父作用域变量(包括this)表示以值传递地方式捕获变量var。自定义智能指针删除器。
2024-11-27 19:29:09
598
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人