算法与数据结构
文章平均质量分 68
l947069962
这个作者很懒,什么都没留下…
展开
-
Chandy-lamport算法 (分布式快照理论)
1. 分布式系统模型分布式系统可以抽象为由有限的precess集合和有限的channel集合构成,如下图所示。其中, 有向图代表分布式系统,顶点代表process,边代表channel。一个process由一个状态(state)集合、一个初始状态和一个事件(event)集合构成。一个事件(event)e 是一个原子操作,它能够改变process本身的状态,以及最多一个channel的状态(...原创 2020-02-23 22:36:22 · 1963 阅读 · 0 评论 -
二分查找(binary search)
1.二分查找算法适用的范围:①必须是顺序表,不适用于链式存储②查找之前,序列必须是有序的。对于无序的序列,可以先采用合适的排序算法进行排序后,再使用二分查找。2.二分查找算法的基本模式:递归方式、非递归方式3.二分查找的时间复杂度和空间复杂度原创 2017-08-02 23:02:54 · 1126 阅读 · 0 评论 -
Floyd's Cycle Detection Algorithm
Floyd判圈算法1. 什么是Floyd判圈算法?Floyd判圈算法(Floyd Cycle Detection Algorithm),又称龟兔赛跑算法(Tortoise and Hare Algorithm),是一个可以在有限状态机、迭代函数或者链表上判断是否存在环,求出该环的起点与长度的算法。2. 算法描述如果有限状态机、迭代函数或者链表上存在环,那么在某个环上以不同速度前进的2个指针必定会在某原创 2017-09-01 16:37:11 · 746 阅读 · 0 评论 -
Trie (Prefix Tree) 前缀树
1. 什么是Trie?Trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。 Trie可以看作是一个确定有限状态自动机,尽管边原创 2017-08-28 17:03:20 · 2416 阅读 · 0 评论 -
二叉树DFS和BFS 递归/非递归
二叉树DFS和BFS 递归/非递归方式1.DFSDFS, 深度优先遍历 (1)递归形式public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}List<TreeNode> list = new ArrayLis...原创 2018-12-04 11:50:01 · 5692 阅读 · 0 评论