Algorithms
江无羡
Life is full of surprises !
展开
-
红黑树结构算法原理与代码解析
红黑树(Red Black Tree【平衡二叉B树】) 是一种自平衡二叉查找树, 是在计算机科学中用到的一种数据结构, 典型的用途是实现关联数组。典型的普通顺序数组结构的增、删、查效率都是O(n), 但是红黑树进行读写操作时的效率可以稳定在O(log n)之内。1 . 概念介绍 1) 二叉树: 每个节点最多有两个子树的树结构, 而它在图论中的定义为, 一个连通的无环图,并且每一个顶点的度不大于3原创 2016-07-08 17:03:22 · 1593 阅读 · 0 评论 -
Paxos一致性算法原理分析
Paxos协议算法就是在分布式系统环境中, 就某个值(决议)达成一致而出现的一种一致性问题解决方案。同时Paxos 算法是一种基于消息传递模型的一致性算法;算法的执行条件首先要处在一个可靠的通信环境中, 即在异步通信过程中, 发送的数据可能会被丢失(lost), 延长(delayed), 重复(duplicated), 但不会出现被篡改;1 . Paxos 包含下面两种解决方案:Single-De原创 2016-10-11 14:41:15 · 1395 阅读 · 0 评论 -
STOMP 协议规范
简介STOMP (Simple (or Streaming) Text Oriented Message Protocol ) 是一种在客户端与中转服务端之间进行异步消息传输的简单通用协议; 它定义了服务端与客户端之间的格式化文本传输方式;STOMP 已经被使用好多年, 现在被许多消息中间件与客户端工具所支持。翻译 2017-01-10 10:56:07 · 8820 阅读 · 1 评论 -
二叉树的广度与深度遍历
二叉树在图论中的定义为, 二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。然而,左右节点的定义是逻辑上。如果不考虑连通性,允许图中有多个连通分量,这样的结构叫做森林。原创 2017-05-30 23:27:18 · 766 阅读 · 0 评论 -
常见的数据签名及加密处理方式
跨服务请求中的数据加密与签名处理数据隐私与安全是我们所有开发人员在业务需求开发过程中都避免不掉的问题, 比如数据防篡改, 隐秘信息加密, 用户登录ticket生成等场景, 然后这里我们就可以根据不同的具体业务场景选择合适的签名或者加密算法以达到我们的目的!常用签名与加密算法介绍业务场景分析算法具体实现代码其他常用签名与加密算法介绍消息摘要算法MD5: 消...原创 2018-03-02 18:48:42 · 4645 阅读 · 0 评论 -
二叉堆(最小堆, 最大堆)介绍与实现
二叉堆是一种特殊的二叉树, 它总是保证一棵树的最小元素(最小堆)或者最大元素(最大堆)处于树根上, 常见的应用场景就是用于构建优先队列, 在jdk中Doug Lea所实现的ScheduledThreadPoolExecutor中就是用到了最小堆;二叉堆介绍二叉堆的编程实现应用场景二叉堆介绍什么是树?计算机中树是一种数据结构(有向无环图), 因为它看起来像一颗倒挂的树, 所以被称为树...原创 2019-06-13 11:53:16 · 10626 阅读 · 2 评论