随笔分类 - 数据结构
摘要:一.无向图 1.邻接表数据结构 1) 图中顶点用一个一维数组存储,当然也可以用单链表来存储,不过用数组可以较容易的读取顶点信息,更加方便。另外,对于顶点数组中,每个数据元素还需要存储指向第一个邻接点的指针,以便于查找该顶点的边信息。 2) 图中每个顶点vi的所有邻接点构成一个线性表,由于邻接点的个数
阅读全文
摘要:优先队列的最重要的操作:删除最大元素(或最小)和插入元素。数据结构二叉堆能够很好的实现队列的基本操作。二叉堆的结点按照层级顺序放入数组,用长度为N+1的私有数组pq来表示一个大小为N的堆(堆元素放在pq[1]至pq[N]之间,为方便计数,未使用pq[0]),跟节点在位置1,它的子结点在位置2和3,以
阅读全文
摘要:一.背包 背包是一种不支持从中删除元素的集合数据类型,目的是帮助用例收集元素并迭代所有收集到的元素,也可以检查背包是否为空,或者获取背包中元素的数量。背包里面的元素的顺序不确定。 要理解背包的概念,可以想象一个喜欢收集弹珠球的人。他将所有的弹珠球都放在一个背包里,一次一个,并且会不时在所有的弹珠球中
阅读全文
摘要:1.什么是布隆过滤器? 首先,我们需要了解布隆过滤器的概念。 布隆过滤器(Bloom Filter)是一个叫做 Bloom 的老哥于1970年提出的。我们可以把它看作由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。相比于我们平时常用的的 List、Map 、Set
阅读全文