随笔分类 - 算法与数据结构
摘要:这个讲得还阔以: https://blog.csdn.net/v_july_v/article/details/6279498
阅读全文
摘要:Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否可能属于这个集合。 它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 初始状态时,Bloom Filter是一个包含m位的位数组,每一位都置为0。 对于
阅读全文
摘要:可能会遇到这样的场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache : hash(object)%N 如
阅读全文
摘要:BST存在的问题: BST存在的主要问题是,数在插入的时候会导致树倾斜,不同的插入顺序会导致树的高度不一样,而树的高度直接的影响了树的查找效率。 理想的高度是logN,最坏的情况是所有的节点都在一条斜线上,这样的树的高度为N。 平衡二叉查找树: 平衡树在插入和删除的时候,会通过旋转操作将高度保持在l
阅读全文
摘要:B树 一、基本原理 B树是一种查找树,它最初启发于二叉查找树。 二叉查找树的特点是每个非叶节点都只有两个孩子节点。然而这种做法会导致当数据量非常大时,二叉查找树的深度过深,搜索算法自根节点向下搜索时,需要访问的节点也就变的相当多。 如果这些节点存储在外存储器中,每访问一个节点,相当于就是进行了一次I
阅读全文
摘要:直接插入排序: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。 时间复杂度:O(n^2) 稳定的 希尔排序: 先将要排序的一组记录按某个增量d(n/2,n为要排序数的个数)分
阅读全文