树
文章平均质量分 56
JustWei_
这个作者很懒,什么都没留下…
展开
-
B+树
B+树B+树简介B+树是B树的一个升级版,相对于B树来说B+树更充分的利用了节点的空间,让查询速度更加稳定,其速度完全接近于二分法查找。B+树的特征有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身按照关键字的大小自小而大顺序链接。所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。B+树的优势单一节点转载 2021-04-14 16:46:06 · 68 阅读 · 0 评论 -
B树
B树B树简介B树(B-tree)是一颗多路平衡查找树。B树特性m为B树的阶数所有节点关键字是按递增次序排列,并遵循左小右大原则。1 < 非叶节点的子节点数 <= M(M>=2,空树除外)。除根结点和叶子结点外,其它每个结点有ceil(m/2)ceil(m / 2)ceil(m/2)个孩子。所有叶子结点都出现在同一层,叶子节点除了包含了关键字和关键字记录的指针外也有指向其子节点的指针只不过其指针地址都为 null。每个非终端结点中包含有n个关键字信息:原创 2021-04-14 16:19:34 · 91 阅读 · 0 评论 -
红黑树
红黑树红黑树简介红黑树(Red-Black Tree)是一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红色或黑色。红黑树特性每个节点或是黑色,或是红色。根节点是黑色。每个叶子节点是黑色。如果一个节点是红色的,则它的子节点必须是黑色的。从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。红黑树图示图示网站红黑树应用红黑树的应用比较广泛,主要是用它来存储有序的数据,它的时间复杂度是O(logn),效率非常之高。例如,Java集合中的 Tree原创 2021-04-14 15:33:42 · 56 阅读 · 0 评论 -
平衡二叉树
平衡二叉树平衡二叉树简介平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构。平衡二叉树性质平衡二叉树是一 棵空树或它的左右两个子树的高度差的绝对值不超过 1 ,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。平衡二叉树特性非叶子节点最多拥有两个子节点。非叶子节点的值大原创 2021-04-14 15:16:19 · 154 阅读 · 0 评论 -
二叉树的遍历
二叉树的遍历递归解法前序遍历void preorder(TreeNode* root, vector<int>& ans) { if (root == nullptr) { return; } ans.emplace_back(root->val); preorder(root->left, ans); preorder(root->right, ans);}中序遍历void inorder(Tre原创 2021-04-10 15:38:41 · 62 阅读 · 0 评论