算法
文章平均质量分 80
Scoful
安分守己地做个代码工人
展开
-
布隆过滤器的原理,使用场景和注意事项
目录什么是布隆过滤器实现原理为啥不用 HashMap 的问题布隆过滤器数据结构支持删除么如何选择哈希函数个数和布隆过滤器长度最佳实践Redis大Value拆分参考资料什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。实现转载 2022-02-20 20:36:51 · 26468 阅读 · 0 评论 -
SSH的大白话说明
目录1. 大白话前提2. SSH建立session连接(对称加密+Diffie-Hellman算法的应用)3. SSH的密码登陆(对称加密的应用)4. SSH的免密登录(公钥加密私钥解密+hash的应用)参考1. 大白话前提对称加密 = 加解密都用的同一个秘钥非对称加密 = 加解密用的是一对秘钥,也就是公钥私钥公钥,顾名思义,公开的,多人拥有的私钥,顾名思义,私有的,一般就一人拥有非对称加密既可以用公钥加密然后私钥解密,也可以私钥加密然后公钥解密,根据用途的不同而选择不同的加解密方式公钥加密原创 2021-10-01 10:30:00 · 47086 阅读 · 0 评论 -
TCP三次握手建立连接和四次挥手断开连接
目录1. TCP connection2. TCP报文格式简介3. TCP的三次握手(Three-Way Handshake)4. TCP的四次挥手(Four-Way Wavehand)1. TCP connection客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西;由于TCP不存在连接的概念,只存在请求和响应,请求和响应都是数据包,它们之间都是经过由TCP创建的一个从客户端发起,服务器接收的类似连接的通道,这个连接可以一直保持,http请求是在这个连原创 2021-09-30 13:27:36 · 46084 阅读 · 0 评论 -
使用Diffie-Hellman算法(非对称加密算法)得到对称加密需要的秘钥
目录0. 摘要1. 概述2. Diffie-Hellman算法原理2.1 Diffie-Hellman算法原理2.2 Diffie-Hellman算法的优缺点转载自原文在原文基础上优化了一下,加上注释,更好读懂0. 摘要非对称加密算法又称公开密钥加密算法,非对称加密是相对于对称加密而言的,对称加密指的是通信双方使用的密钥是一致的,而非对称加密就是算法使用的密钥不一致。非对称加密的好处是当通信双方没有事先协商密钥的情况下也能进行安全通信,而在互联网普及的今天,很多通信双方往往在事先是无法协商好密钥的转载 2021-09-29 18:42:07 · 46794 阅读 · 0 评论 -
二叉树、平衡二叉树(AVL)、红黑树、2-3-4树、2-3树、b-树、b+树
目录二叉树平衡二叉树(AVL)红黑树2-3-4树2-3树b-树b+树二叉树平衡二叉树(AVL)红黑树2-3-4树2-3树b-树b+树原创 2021-05-31 23:15:08 · 35492 阅读 · 0 评论 -
一致性Hash(Consistent Hashing)原理剖析
转载自原文引入在业务开发中,我们常把数据持久化到数据库中。如果需要读取这些数据,除了直接从数据库中读取外,为了减轻数据库的访问压力以及提高访问速度,我们更多地引入缓存来对数据进行存取。读取数据的过程一般为: 图1:加入缓存的数据读取过程对于分布式缓存,不同机器上存储不同对象的数据。为了实现这些缓存机器的负载均衡,可以使用式子1来定位对象缓存的存储机器: m = hash(o) mo...转载 2020-04-07 19:33:12 · 26964 阅读 · 0 评论 -
一看就会,二叉树的创建和三种遍历--前序、中序、后序(附java代码实现)
转载自原文文章目录一、易懂的形象理解1、前序遍历2、中序遍历3、后序遍历4、层序遍历二、真正理解三种遍历三、代码实现一、易懂的形象理解其实从名字就可以很好的理解这三种遍历,我在第二点时候说,但是估计能翻到我的文的同学们之前肯定看过好多类似的了,那咱们换个思路~ 先用我想的一种简单易懂的形象思维理解一下前序、中序、后序 +层序!1、前序遍历先序遍历可以想象成,小人从树根开始绕着整棵树的外...转载 2020-03-04 01:32:29 · 14739 阅读 · 1 评论