随笔分类 - 数据结构
摘要:代码实现 代码参考了《数据结构(c++语言版)》--清华大学邓俊辉 "RBTree.h" #pragma once //#include"pch.h" #include<iostream> //宏定义 #define IsRoot(x) ( !((x)->pa) ) #define IsLChild
阅读全文
摘要:搜索树的一种,能保证所有操作在O(log n)的时间内完成,且每次操作全树的拓扑结构更新仅涉及常数个节点的更新。 AVL树能够保证最坏情况下的单次操作时间,但是需在节点中嵌入平衡因子等表示,同时删除操作之后的重平衡操作可能要执行O(log n)次旋转,导致整棵树拓扑结构变化较大;而伸展树虽然实现方便
阅读全文
摘要:AVL树是平衡二叉搜索树中的一种,在渐进意义下,AVL树可以将高度始终控制在O(log n) 以内,以保证每次查找、插入和删除操作均可以在O(log n)的时间内完成。 平衡因子 定义任一结点v的平衡因子(balance factor)为其左右子树的高度差 balfac(v) = height(v-
阅读全文
摘要:与AVL树一样,伸展树(Splay Tree)也是平衡二叉搜索树的一致,伸展树无需时刻都严格保持整棵树的平衡,也不需要对基本的二叉树结点做任何附加改动,能够保持分摊意义下的高效率。 局部性 通常在任意数据结构的生命期内,执行不同操作的概率往往极不均衡,且各操作之间具有极强的关联性,比如数据局部性,所
阅读全文

浙公网安备 33010602011771号