高阶数据结构
文章平均质量分 96
言之命至9012
靡不有初,鲜克有终
展开
-
请回答数据结构【图】
图是由顶点集合及顶点间的关系组成的一种数据结构:G = (V, E),其中:顶点集合V := {x|x属于某个数据对象集}是有穷非空集合;E = {(x,y)|x,y属于V}或者E = {|x,y属于V && Path(x, y)}是顶点间关系的有穷集合,也叫做边的集合。(x, y)表示x到y的一条双向通路,即(x, y)是无方向的;Path(x, y)表示从x到y的一条单向通路,即Path(x, y)是有方向的。顶点和边:图中结点称为顶点,第i个顶点记作vi。两个顶点vi和vj相关联称作顶点v...原创 2022-08-27 10:04:11 · 494 阅读 · 8 评论 -
请回答数据结构【布隆过滤器&位图】
布隆过滤器和位图都是哈希的一些应用通过一道面试题引出位图想法:⚡️ 遍历,时间复杂度O(N)⚡️ 排序(O(NlogN)),利用二分查找: logN⚡️ 放到set或者是unordered_set,再查找⚡️ 位图解决位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景。通常是用来判断某个数据存不存在的。bitset 是一个 bool 数组,但每个布尔值不是单独存储的,而是 bitset 优化空间,使得每个 bool 只占用 1 位空间,因此bitset bs 占用的空间小于 bool b原创 2022-08-01 10:22:50 · 355 阅读 · 0 评论 -
请回答数据结构 【哈希桶和模拟unordered容器】
采用闭散列处理哈希冲突时,不能随便物理删除哈希表中已有的元素,若直接删除元素会影响其他元素的搜索。因此线性探测采用标记的伪删除法来删除一个元素。1.1 Insert通过哈希函数获取待插入元素在哈希表中的位置首先我们考虑一个问题:究竟index是下面哪一个?(底层是vector)因为对于vector来说只让你访问最多size位,不让你访问整个capacity,所以一旦模过头了会超出size,无法使用因此使用size那么还要考虑增容问题和重复问题这里我们发现在处理扩容问题的时候要把数据重新放到ne原创 2022-06-30 10:17:10 · 193 阅读 · 3 评论 -
请回答数据结构【红黑树】
请回答数据结构【红黑树】0.Intro1. Red-Black Tree1.1 红黑树的性质1.2 红黑树推论2. 实现红黑树2.0 红黑树节点结构2.1 构造函数2.2 Insert2.2.0 处理搜索部分2.2.1 处理红黑节点2.2.2 Situation12.2.3 Situation22.2.4 Situation32.2.5 分类讨论总结2.2.6 实现插入2.2.6.1 插入本体2.2.6.2 旋转函数2.3 Erase2.4 Find2.5 析构函数2.6 拷贝构造和赋值运算符2.7 C.原创 2022-05-20 09:04:25 · 321 阅读 · 8 评论 -
请回答数据结构【AVLTree】
请回答数据结构【AVLTree】文章目录请回答数据结构【AVLTree】0. Intro1. 高度平衡搜索二叉树1.1 平衡因子2. AVL树简单实现2.1 AVL树节点结构2.2 Insert2.2.1 搜索二叉树部分2.2.2 平衡部分2.2.3 更新平衡因子2.2.4 完整插入(旋转在后面)2.3 Rotation2.3.1 Right Rotation2.3.2 Left Rotation2.3.3 Left-Right Rotation2.3.4 Right-Left Rotation2.4.原创 2022-05-13 10:13:56 · 176 阅读 · 2 评论 -
请回答数据结构【二叉搜索树】
请回答数据结构【二叉搜索树】1. BinarySearchTree(二叉排序树)1.0 Intro1.1 concept2. 二叉搜索树快速入门2.1 查找2.2 BSTree应用3. 实现二叉搜索树3.0 搜索二叉树节点3.1 Insert3.2 InOder3.3 Find3.4 Erase3.4.1 抽丝剥茧3.4.2 **躬行实践**3.4.3 化茧成蝶3.4.4 精益求精4. 递归版搜索二叉树4.1 _FindR4.2 InsertR4.3 EraseR5. 深浅拷贝5.1 析构函数5.2 拷贝.原创 2022-04-26 19:51:31 · 792 阅读 · 0 评论