- 博客(8)
- 收藏
- 关注
原创 数据结构之顺序表
只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。依次存储数据元素的线性结构,使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。
2024-11-06 08:05:55
301
原创 并查集初识
并查集 是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。初始时,每个元素都位于一个单独的集合,表示为一棵只有根节点的树。在不交集森林中,每个集合的代表即是集合的根节点。查询操作Find(x)从x开始,根据节点到父节点的引用向根行进,直到找到根节点。在集合很大或者树很不平衡时,上述代码的效率很差,最坏情况下(树退化成一条链时),单次查询的时间复杂度高达O(𝑛)。一个常见的优化是。
2024-10-29 18:47:09
354
原创 事务的基本概念
数据库的事务在实现时,会将⼀次事务中包含的所有操作全部封装成⼀个不可分割的执⾏单元,这个单元中的所有操作要么全部执⾏成功,要么全部执⾏失败。只要其中任意⼀个操作执⾏失败,整个事务就会执⾏回滚操作。
2024-10-25 17:32:54
609
原创 字典树(Trie) 详解
字典树(Trie),又称为或,是一种用于高效和字符串集合的数据结构,特别适合处理大量字符串的前缀匹配问题。它是一种结构,每个节点代表一个字符串的字符。以为例。下面是一个简单的的实现。它代表中的一个节点,用于存储字符和状态信息。依次插入 “apple”, “bana”。
2024-10-23 18:28:18
1495
原创 C++手写线程池详解
线程池应用广泛,不论实在客户端程序还是后台服务程序, 都是提高业务能力的必备模块。有很多开源的线程池实现,各自接口使用上稍有区别,核心实现原理基本相同。
2024-10-21 18:38:55
1971
原创 详解单例设计模式
一般遇到写进程池类、日志类、内存池的话就会用到 单例模式。设计单例必须满足下面三个条件:全局只有一个实例,用 static 特性实现,构造函数设为私有通过公有接口获得实例.线程安全.上述代码存在线程安全问题,故需要设计线程安全的单例模式。1、饿汉单例模式的线程安全特性:饿汉单例模式中, 单例对象定义成了一个 static 静态对象,他是在程序启动时, main 函数运行之前就初始化好的, 因此不存在线程安全问题,可以在多线程运行。2、懒汉单例模式的线程安全特性显然, getInstance 是个 不可
2024-10-20 13:53:21
1586
转载 百日突破C语言 (day 1) 鸡兔同笼
博主现在还只是一名大一新生,没有很强的天赋和能力,开此 C语言程序设计100例,为了帮助初学者快速入门并喜欢上编程,体验代码带给我们的美好体验(),因为实力有限,此栏转载自大佬,稍有改动,目的是为了帮助同学们更好地进步和学习,如果有错误的地方,还望指出以便尽快改正!蟹蟹各位的喜欢!测试版!!!
2023-06-24 10:17:39
204
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人