数据结构与算法
文章平均质量分 94
slx_share
这个作者很懒,什么都没留下…
展开
-
算法设计思想-递归
我们知道计算机适合做一些重复性的工作,且计算机求解问题遵循的一个基本原则是将问题规模逐渐减小,即将原问题转化为与之相似的规模较小的子问题。递归算法就是通过调用自身将问题规模缩小的算法设计思想。递归的定义递归就是在函数内部直接或间接调用自身。def fib(n): if n <= 1: return 1 return fib(n - 1) + fib(n ...原创 2020-02-09 22:03:29 · 681 阅读 · 0 评论 -
Paxos算法详解
Paxos算法是分布式系统的一个基础架构。原创 2018-06-24 10:02:55 · 1491 阅读 · 0 评论 -
二叉搜索树、AVL以及红黑自平衡二叉搜索树
二叉搜索树二叉搜索树的基本操作有search(搜索)、insert(插入)、delete(删除)搜索key值小于当前节点,则搜索当前节点的左子树,反之右子树,直到叶节点。若遇到相同key则返回True。二叉搜索树的搜索的时间复杂度最好是O(logn),但在以下两种情况下,将和线性搜索O(n)无异。插入搜索到叶节点,若比叶节点key小,则添加为当前叶节点的左孩子,反之右孩子。删除删...原创 2018-10-13 11:12:42 · 220 阅读 · 0 评论 -
B-树以及B+树
B树B树是一种平衡的多路查找树,包括B-树以及B+树。一个节点可以拥有多个key以及多个孩子节点。一棵m阶的B树满足如下性质:一个节点最多含有m-1个key,大于或等于m就要对节点进行劈裂节点上的n个key有序排列,对应n+1个孩子有序排列(例如大于第一个key对应第一个孩子节点)根节点非空,则至少两个孩子内部节点至少m//2+1个孩子节点搜索B-树和B+树都可以从根节点开始随机...原创 2018-10-16 20:47:40 · 500 阅读 · 0 评论