要么改变世界,要么适应世界
该分类下的文章

手撕红黑树!使用C语言带你实现一个平衡搜索树【正文】

2024-01-14 23:52:09
135
算法

上篇文章我们主要认识了二叉树搜索树,这篇文章正式介绍红黑树。 红黑树在二叉搜索树的基础上,加了些性质,包含`color`、`key`、`left`、`right`、`p`,颜色取值为红色或者黑色,此外,我们把NIL节点视为特殊的节点,具体而言,视为外部节点,也叫叶子节点,把带有关键字的节点视为内部节点。 ...

手撕红黑树!使用C语言带你实现一个平衡搜索树【前夕】

2024-01-14 23:50:13
118
算法

红黑树是二叉搜索树中的一种,只不过增加了一个性质“在所有的叶子到根的路径中,没有一条路径会比其他路径长出2倍”,因此,可以保证最坏情况下基本动态集合操作(例如删除节点、插入节点和查找节点)的时间复杂度为`O(lg n)`,本篇是第一部分,二叉搜索树。 ...

关于二分算法中的边界问题的思考

2023-05-04 16:33:05
447
算法

关于二分算法,在理解方面不难理解,但是在实现的细节上面,我们往往要对边界处理过程要加以小心,否则有可能使得最终输出并不是问题的解,虽然二者极度相似,甚至在比较差的情况之下直接导致死循环。 ...

数字签名背后原理

2022-10-29 23:36:33
335
算法

最近在学习区块链的知识,觉得其中的数字签名挺有意思的,想了解一下背后的大致数学原理。当然了,数字签名有很多种,一般采用非对称密钥密码体制来实现,常见的非对称加密算法有`RSA`和椭圆曲线加密算法,下面记录一下基于这两种算法的数字签名大致原理,注意,本文并不是在强调如何调用高级API,而是打算从数学原理出发。 ...

基于分治法的特定数列逆序数求法

2022-09-30 09:25:57
314
算法

忙里偷闲,记录一下使用分治法求逆序数的实现过程。 ...

  • 1
  • 2
  • 3
  • 4
  • 10