算法皮毛
不承认自己菜的菜鸡前端
这个作者很懒,什么都没留下…
展开
-
SHA、MD5
SHA --信息摘要算法大版本有 :SHA-1(被破解了) 与 SHA-2,SHA-2又包含很多子版本,有SHA-224(256的阉割版),SHA-256,SHA-384(512的阉割版),SHA-512长度越长不同明文的碰撞几率越低,但性能也会低想要追求安全性,可以多个摘要算法一起用,例如md5摘要和SHA-256一起用,除非知道拼接规则,否则不可能破解MD5 --信息摘要算法...原创 2020-03-02 09:44:47 · 142 阅读 · 0 评论 -
B+树
B+树B-树的一种变体,比B-树更高的查询性能一个m阶的B+树具有如下几个特征:1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)...原创 2020-03-02 09:32:12 · 122 阅读 · 0 评论 -
B-树
B-树(读作B树)mysql数据库的索引基于Hash表或B+树索引采用树结构存储,查询效率高,还可以操持有序。数据库不使用二叉树的原因:从算法逻辑上来讲,二叉树的查找速度和比较次数都是小的。但是,要考虑磁盘IO。数据库的索引是存储在磁盘上的,当数据量比较大的时候,索引的大小可能有几个G甚至更多,当我们利用索引查的时候,不可能把整个索引全部加载到内存,只能逐一加载每一个磁盘页(磁盘页对应索...原创 2020-03-02 09:31:11 · 85 阅读 · 0 评论 -
二叉树、红黑树
二叉树1.左子树上所有结点的值均小于或等于它的根结点的值。2.右子树上所有结点的值均大于或等于它的根结点的值。3.左、右子树也分别为二叉排序树。二分查找的思想,查找所需的最大次数等于二叉树的高度,插入 :通过一层一层的比较然后插入缺陷:会瘸 治疗方法:红黑树红黑树 --自平衡的二叉查找树1.节点是红色或黑色。2.根节点是黑色。3.每个叶子节点都是黑色的空节点(NIL节点)...原创 2020-03-02 09:28:17 · 101 阅读 · 0 评论 -
bitmap算法 --位图算法
bitmap算法 --位图算法位图不是像素图片,而是内存中连续的二进制位(bit),用于对大量整型数据做去重和查询例题:给定一块10bit的内存空间,想要依次插入整型数4,2,1,3解法:10bit每一位的的值为0,当插入4时,此时下标 4 的位置,bit值置为1,剩下三个数类似。。。应用:例:一个用户对应多个标签解法:思路逆转。一个标签对应多个用户1、建立用户名和用户ID的映射...原创 2020-03-02 09:24:58 · 358 阅读 · 0 评论 -
base64
base64 --只支持64个可打印字符a-Z,0-9,+,/ASCII码 :0-127,其中0-31,127这33个字符属于控制字符,32-126这95个属于可打印字符,早期的SMTP(传输邮件协议)只能传输可打印的ASCII字符导致原本8bit字节码(0-255)超过了可用的范围,比如传输图片资源在进行Http传输的时候,需要Byte数组进行base64编码,因为Http协议是文本协议...原创 2020-03-02 09:17:25 · 129 阅读 · 0 评论 -
AES
AES --对称加密算法 可逆的,就是可以加密解密摘要算法是不可逆的,主要作用是对信息的一致性和完整性的校验。对称加密算法是可逆的,主要作用是保证私密信息不被泄露。密钥:加密解密需要同一个密钥,AES支持三种长度的密钥 128位,192位,256位越长安全性越高,越短性能越高,本质就是加密处理的轮数不同填充:将明文拆分成128bit的明文块,最后一个明文块不足128bit时做填充填...原创 2020-03-02 09:11:15 · 458 阅读 · 0 评论