查找
文章平均质量分 77
青山的青衫
这个作者很懒,什么都没留下…
展开
-
【数据结构—查找】红黑树
文章目录红黑树一、定义与性质定义性质二、插入(双红修正->按照x的叔叔u分类)1.x的叔叔是黑色(如果是外结点,也是黑色!)1.1 g到x的路径为LL型(爷爷到自己)1.2 g到x的路径为RR型1.3 g到x的路径为LR型1.4 g到x的路径为RL型2.x的叔叔是红色先染色2.1.若g为根结点,结束。2.2.若g被染红,并且g父红,继续向上双红修正总结三、删除(双黑修正->按照x的兄弟s分类)1.兄弟s为黑,且有红孩子1.1 p到n的路径为LL型1.2 p到n的路径为LR型1.3 p到n的路径为原创 2022-04-03 11:28:59 · 1299 阅读 · 0 评论 -
【数据结构—查找】高度平衡树(AVL树)(含代码实现)
文章目录高度平衡树(AVL树)1.定义AVL结点定义2.AVL的插入失衡情况平衡方案1.单旋转(LL\RR)LL型(右旋转)RR型(左旋转)2.双旋转—旋转两次(LR\RL)LR型(以C为轴先左转后右转)RL型(以C为轴先右转后左转)AVL插入的总结3.AVL树的删除(代码未实现) 高度平衡树(AVL树) 1.定义 关于二叉查找树~ 高度平衡树结点q的平衡系数为q的右子树高度减去左子树高度。 另:树的高度是指树中结点的最大层数(似乎不同教材对于从0开始还是从1开始的定义不同) 高度平衡树所有结点的平衡原创 2022-04-02 21:03:48 · 1013 阅读 · 0 评论 -
【数据结构—查找】二叉查找树(BST)(含代码)
文章目录二叉查找树1.定义二叉树结点结构2.查找算法3.插入算法4.删除算法 二叉查找树 1.定义 二叉树结点结构 //建议初始化 struct BSTnode { int key = 0; BSTnode* left = NULL; BSTnode* right = NULL; }; 2.查找算法 //递归版本 BSTnode* search(BSTnode* t, int K) { if (t == NULL || t->key == K) return t;//递归出口 if (原创 2022-04-02 14:45:40 · 249 阅读 · 0 评论