Raft on RocksDB -- 共享日志
自上次更新博客起已经有三年时间了,这期间经历了留学、毕业、工作等很多事情,个中滋味只有自己知道。博客重开,希望文笔和思路上能比以前进步一点点。同时因为学识有限,也希望各位大佬能不吝赐教。
1728 字
|
9 分钟
哈希表 -- 哈希冲突
在计算机科学中,哈希表 (hash table) 是一个非常重要的数据结构,它帮助我们快速的进行插入和查询。理论上来说,在表中查询一次的耗时应该是 O(1) 的。这里假设大家对于哈希 (hash) 都已经了解,如果你以前没有接触过这个概念,这篇文章或许是一个很好的开始。
2806 字
|
14 分钟
第四届天池中间件性能挑战赛感想
从报名比赛开始到现在将近四个月了,终于告一段落,最终拿到了季军也很开心。这三个月中我学到了很多有用的工程知识,顺便把 C++ 又摸熟了。初赛代码实在写太丑就不放出来了,复赛的代码托管在 github 上:
3339 字
|
17 分钟
Linux IO 多路复用 —— Epoll
Epoll 是 Linux 平台上独有的一组编程接口,用于监听多个文件描述符上的 IO 事件。 Epoll 相对于 select/poll 的优势在于即使监听了大量的文件描述符,性能也非常好。 Epoll API 支持两种监听方式:edge-triggered (EPOLLET) 和 level_triggered (default)。
1439 字
|
7 分钟
布隆过滤器 (Bloom Filter)
布隆过滤器 (Bloom Filter) 是一个空间高效的概率数据结构,它能够用来测试是否一个元素在一个集合中。布隆过滤器存在着 false positive (返回存在,其实不存在),但是不存在 false negative (返回不存在,其实存在)。集合中的元素越多,false positive 的概率就越高。
1069 字
|
5 分钟
最长回文子串 Manacher 算法 (Longest Palindromic Substring -- Manacher's Algorithm)
Emm,这篇其实在 2017 年 9 月就打算写了,到现在才填上,再不填又要忘记了…
995 字
|
5 分钟
MWeb With Hugo
前两天发现了一个好用的 markdown 编辑器叫 MWeb,支持好多 Blog 的直接发布,同时对两种静态网页生成器有直接的支持 (hexo/jelly),然而对 hugo 却并没有支持,好在大家工作原理都差不多,稍微改改就能用上了。
243 字
|
1 分钟
博弈论-公平组合游戏 (Game Theory -- Impartial Combinatorial Games)
上回说到接下来都是图算法… 这个,我食个言 🙃
4077 字
|
20 分钟