摘要: 该项目是使用 C/C++ 开发的一款高性能的后端分布式服务器网络框架。该项目具有如下要点: 使用 C++11 重写并简化 muduo 网络库; 仿写了 tcmalloc 的高并发内存池; 加入了 sylar 的日志模块并将其改进为异步日志; 使用到了 protobuf 和 Zookeeper 来作为 阅读全文
posted @ 2023-04-21 23:00 Leaos 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 简介 插件地址: cppassist.nvim 该插件是我自己根据 ourobors.nvim 插件所写的一款类似于 VAssistX 的助手插件。 B站演示视频:Neovim自制插件之Cpp助手 细节 使用正则表达式而不是 LSP 来查找源文件; 可以识别数据类型中的下划线和指针; 可以识别返回类 阅读全文
posted @ 2022-09-08 01:33 Leaos 阅读(361) 评论(0) 推荐(1) 编辑
摘要: 问题描述⚠️ 在 Windows 系统下,如果使用 (Neo)Vim 编辑器,比如 WSL、VS Code 或者其它 IDE 的 VIM 功能,如果使用中文输入法,在由 Insert 模式进入 Normal 时,难免需要不停切换中英文输入法,有时则会忘记切换,导致在 Normal 模式下输入中文。 阅读全文
posted @ 2022-06-29 00:57 Leaos 阅读(2103) 评论(0) 推荐(1) 编辑
摘要: 前言 该算法旨在在一组数据点中,用基因表达式编程的方法,根据基因遗传定律,物竞天择、优者生存,劣者淘汰的思想,不断进化种群,找出适宜度最高的染色体来模拟出数据点之间所存在的数学表达式关系。通常该算法用来解决符号回归问题:符号回归(Symbolic Regression)作为一种一种监督学习方法,试图 阅读全文
posted @ 2021-04-07 23:13 Leaos 阅读(4147) 评论(11) 推荐(0) 编辑
摘要: 1.不带权值的最短路径 对于不带权值的最短路径而言,我们可以采用广度优先遍历的方法,同时在遍历的过程中记录其上一个节点即可。如下图所示,我们找寻从 A 顶点到 H 顶点的最短路径: 从上图中可以看到,在广度优先遍历到第 2 层时,已经找到了 H 节点,此时直接返回即可。 2.Dijkstra算法 迪 阅读全文
posted @ 2023-02-20 12:41 Leaos 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 1.定义 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成的,通常表示为 $G(V,E)$,其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。 在图的定义中,需要注意以下几个点: 图中的数据元素称之为顶点(Vertex); 在图结构中,不允许没有顶点; 在图中, 阅读全文
posted @ 2023-02-18 15:21 Leaos 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1.定义 1.1 哈夫曼树 哈夫曼树是一种最基本的压缩编码方法。对于如图所示的两棵二叉树,每个叶子节点都带有权值: 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称作路径长度。例如,树 a 中根节点到结点 D 的路径长度为 4,树 b 中根节点到结点 D 的路径长度为 阅读全文
posted @ 2023-02-17 13:28 Leaos 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1.定义 倒排索引常使用在搜索引擎当中,是搜索引擎为文档内容建立索引,实现内容快速检索必不可少的数据结构。倒排索引是由单词的集合“词典”和倒排列表的集合“倒排文件”组成的。 倒排索引的存储:内存索引和B+树索引。 1.1 正排索引 假设目前有两个 HTML 页面,一个页面内容是 "I like se 阅读全文
posted @ 2023-02-17 00:02 Leaos 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 1.简介 跳跃表(Skip List)是在链表的基础上增加了“跳跃”的功能,即加上了【多级索引】,通过索引来快速查找,可以支持快速的删除、插入和查找操作。它实际上是一种增加了前向指针的链表,是一种随机化的数据结构。其具有如下性质: 由很多层链表组成 每一层都是一个有序的链表 最底层(level 1) 阅读全文
posted @ 2023-02-15 17:30 Leaos 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 1.简介 字典树也称为前缀树、单词查找树。其基本性质如下: 根节点不包含字符,除根节点外每一个节点都只包含一个字符 从根节点到某一结点,路径上经过的字符连接起来,为该节点对应的字符串 每个节点的所有子节点包含的字符都不相同 其结构如下图所示: 通过其结构可以得知,其搜索一个单词的时间复杂度为 $O( 阅读全文
posted @ 2023-02-14 22:22 Leaos 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 1.BF算法 BF 算法,即暴力(Brute Force)算法,是普通的【模式匹配】算法,BF 算法的思想就是将目标串 S 的第一个字符与模式串 T 的第一个字符进行匹配,若相等,则继续比较 S 的第二个字符和 T 的第二个字符;若不相等,则比较 S 的第二个字符和 T 的第一个字符,依次比较下去, 阅读全文
posted @ 2023-02-12 21:52 Leaos 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1.B-树 B-树是一颗 m 阶的平衡树(Balance),其通常应用于文件索引系统的实现。一颗 m 阶的 B- 树需要满足如下条件: 树中每个节点最多含有 m 个孩子 除根节点和叶子节点之外,其它每个节点至少有 $\lceil m/2 \rceil$ 个孩子 除根节点之外的节点的关键字的个数 n 阅读全文
posted @ 2023-01-19 21:33 Leaos 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 1.红黑树 相比于 AVL 树而言,红黑树并不是一颗平衡树,其节点的左、右子树高度差,长的不超过短的 2 倍。 红黑树的特点如下: 树的每一个节点都有一个颜色; 空节点是黑色; 根节点是黑色; 不能出现连续的红色节点; 从根节点到每一个叶子节点的路径上,黑色节点的数量是相同的; 如下图所示,为一颗典 阅读全文
posted @ 2023-01-19 00:31 Leaos 阅读(53) 评论(0) 推荐(0) 编辑