摘要: 上一篇中我们讲述了红黑树的插入, 以及删除时需要进行的各种调整的情况, 根据这些情况, 我们可以用代码实现红黑树的插入与删除操作. 节点的定义 一颗红黑树的定义如下: // 定义颜色枚举类型 enum Color { RED, BLACK }; template <class T> struct R 阅读全文
posted @ 2024-09-10 16:17 虾野百鹤 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 红黑树的定义 之所以这么久才新开红黑树, 是因为我觉得红黑树还是挺复杂的, 要说清楚与实现都不是容易的事情, 我主要参考了一些博客, 传送门. 实际上我的大部分理解都是来自这一篇博客, 我添加了一些自己的理解以及实现方式. 红黑树是在二叉搜索树的基础上, 添加了对二叉搜索的限制, 每次新增或者删除节 阅读全文
posted @ 2024-08-14 16:53 虾野百鹤 阅读(11) 评论(0) 推荐(0) 编辑
摘要: GDIT的用法 从 MYSQL 的主从复制讲起 在Mysql中, 我们部署一个数据库的时候往往会有多个服务器, 我们称之为服务器的拓朴结构. 在主从复制(Replication)环境中, 通常主服务器(Master)负责处理写操作以及事务的生成与提交. 主服务器会将对服务器的操作记录到binlog中 阅读全文
posted @ 2024-08-08 14:24 虾野百鹤 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 简单数据库迁移操作 迁移方案 迁移方案很简单, 首先将旧的库dump下来, 然后在新库中导入旧的库 dump 下来的文件. # 旧库dump的指令 mysqldump -h host -P post -u user -p database > database_backup.sql # 新库导入的命 阅读全文
posted @ 2024-08-07 19:00 虾野百鹤 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树 平衡二叉树的背景 由于一些众所周知的原因, 我们选择了平衡二叉树, 好吧, 其实就是因为对二叉搜索树的限制太少了, 导致在一些特殊的情况下, 二叉搜索树不太听话, 查找, 插入与删除的时间均变成了 \(O(n)\) 也可以认为, 熵增就会更加有序, 熵减就会更加自由, 这里我们追求的是有 阅读全文
posted @ 2024-08-02 09:51 虾野百鹤 阅读(28) 评论(0) 推荐(0) 编辑
摘要: B+树的定义 上一篇我们介绍了B树, B+树与B树最大的不同是, B+树所有的关键字都存储在叶子节点, 中间节点仅作为索引. 关于B+树的定义以及解释要比B树多很多, 可能这也是因为B+树在实际使用中要比B树广泛很多. 我这里直接参考了nullzx对B+树的定义以及视图, 我主要修改我的B树的代码实 阅读全文
posted @ 2024-07-30 11:24 虾野百鹤 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 最近在做CMU的15445的数据库课程, 需要复习一些高级的数据结构. 记录了一些学习笔记. B树(B-Tree) B树实际上是从二叉平衡树衍生而来, B树的B是 Balanced Tree 的意思, 并不是二叉树的意思. 与传统的二叉搜索树不同, B树的特征是它们可以存储在单个节点中的大量键值对, 阅读全文
posted @ 2024-07-16 17:13 虾野百鹤 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 可扩展Hash 可扩展hash (Extendible Hashing ) 是一种动态 hash 方法. 可扩展 Hash 是从链式 hash 方法延申的. 链式 Hash 也是动态 hash 方法, 示例如下: 链式 hash 中, Directories 大小是固定的, 当不同的元素的 key 阅读全文
posted @ 2024-07-15 13:41 虾野百鹤 阅读(89) 评论(0) 推荐(0) 编辑
摘要: LRU_K 算法 LRU_K 算法是 LRU(最近最少使用算法) 与 LFU(使用频率最小算法的结合体) LRU-K Page Replacement Algorithm Definition Assume we are given a set \(N = {1, 2, . . . , n}\) o 阅读全文
posted @ 2024-06-25 17:21 虾野百鹤 阅读(22) 评论(0) 推荐(0) 编辑
摘要: OPENCV 多线程机制调研 OPENCV 中的两种线程体 opencv 使用两种不同类型的线程体, 线程池自身ThreadPool作为主线程, 线程池内部管理工作线程 std::vector< Ptr<WorkerThread> > threads.. 主线程的任务是从任务池中选择任务, 将任务分 阅读全文
posted @ 2024-06-03 20:07 虾野百鹤 阅读(64) 评论(0) 推荐(0) 编辑