LSM-Tree
LSM-Tree
|
什么是 LST-TreeLSM-Tree 全称 Log-Structured Merge Tree,该树用于优化写入密集型的操作,解决了传统的 B 树或 B+ 树进行频繁写入时产生的性能问题。其充分利用了磁盘顺序写的速度远高于随机写的速度,并通过内存 + 磁盘的多层合并,提高了大规模数据的写入性能。
Randomized-Select 算法详解
Randomized-Select 算法详解
|
Randomized-Select 算法详解前言在一个长为 n 的无序序列中,查找第 k 个大或小的元素,Randomized-Select 算法可以实现时间复杂度为 O(n) 的查找。在网上查了一些资料,都没有讲解为什么该算法时间复杂度是 O(n),于是看了《算法导论》,看了原版的推导和证明,这里
十大经典排序算法(C++实现)
十大经典排序算法(C++实现)
|
前言目前 Leetcode 刷题刷到排序算法部分,回顾一下十大经典排序算法。1. 冒泡排序特性说明时间复杂度O(n^2)有序时最好 O(n)空间复杂度O(1)稳定性稳定排序细节:如果有序,直接返回void bubble_sort(vector<int> &nums){ bo
环路检测算法 Floyd's Tortoise and Hare 保姆级详解
环路检测算法 Floyd's Tortoise and Hare 保姆级详解
|
算法 |
0 评论
迭代是计算机中最基本的一种执行模式,几乎任何程序都需要用到迭代(即循环)。环路检测就是应用在具有迭代结构的程序里,用于检测程序是否会在一个环路中死循环,或是用来检测图、链表或状态机等结构中是否含有环。
alpha-beta剪枝算法详解
alpha-beta剪枝算法详解
|
算法 |
0 评论
前言承接极小化极大算法,它穷举了所有的博弈树节点,从而计算出一条最佳路径,但实际上有些分支是没必要计算的。alpha-beta算法就是对博弈树进行剪枝操作,减少计算开销。但其剪枝效率一定程度取决于走步生成算法,这会在后面进行解释。alpha-beta剪枝我们构造一个简单的博弈树,如下图所示:我们无需
24点算法:思考与记录
24点算法:思考与记录
|
算法 |
0 评论
前言突然回想起小时候玩扑克牌时常玩的游戏,24点。四张扑克牌,可以随意用加减乘除运算进行组合,最终能凑成24,是一个考验心算的小游戏。于是就想尝试用计算机实现,看看有多少种可能,不过24点是很容易穷举的,可能性并不多。最终程序跑出来,一共有28561种组合,其中22615种都可以凑出24点,成功率有
极小化极大算法保姆级详解
极小化极大算法保姆级详解
|
算法 |
0 评论
前言极小化极大算法通常用于完全信息的零和博弈中,即双方的所有信息都是已知的,例如五子棋、象棋。它基于这样一个假设,对方一定会走最利于自己的走法,于是我们在这样的条件下寻找一种最优的策略路径使得己方的收益最大。换句话说,如果在对方最优的走法下我们还能获得优势,则对方走出次优的走法,我们也一定能获得优势
  • 1