
数据结构与算法分析
文章平均质量分 79
SCU阳光
在校学生
展开
-
数据结构与算法分析——Hash表
Hash表 Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Hash表设计的特殊性,它采用了函数映射的思想将记录的存储位置与记录的关键字关联起来,从而能够很快速地进行查找。 1.Hash表的设计思想 对于一般的线性表,转载 2017-10-13 15:58:33 · 5923 阅读 · 0 评论 -
B树、B+树、B-树
最近在学习数据库中的索引时,遇到了数据结构中的B+树和B-树,以及相关的操作,所以参考了一些资料整理了下面的知识点。1. B树 B树也就是最基本的二叉搜索树,只不过换了个名字而已。每个非叶子节点最多只能存放两个孩子,其中节点的左孩子一定比该节点小,右孩子一定比该节点大,搜索节点在时间效率上是与二分查找是等价的(根节点左右孩子总数目差不多的情况下)。它与二分查找的优点是,在进行增删操作...原创 2018-03-07 10:45:46 · 263 阅读 · 0 评论 -
PriorityQueue优先队列——堆结构的优秀实现类
最近在牛客网上做题时,遇到求中位数。看到使用到了优先队列PriorityQueue类,于是就在网上查阅了一些资料。PriorityQueue是Java.util包中的一个类,它逻辑上是使用堆结构(完全二叉树)实现,物理上使用动态数组实现。并不是像TreeMap一样完全有序,堆不是完全有序的(由堆的结构决定的)。接下来我们就通过分析堆的实现原理和PriorityQueue类源码来分析。以下是涉及的主...原创 2018-06-27 20:52:04 · 308 阅读 · 0 评论