数据结构
文章平均质量分 90
Insisting.
每天进步一点点ing。
展开
-
【C++】红黑树
红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。原创 2023-08-23 16:21:57 · 2793 阅读 · 182 评论 -
【C++】AVL树(平衡二叉树)
AVL树,全称平衡二叉搜索(排序)树。二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了一种解决上述问题的方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可降低树的高度,从而减少平均搜索长度。平衡因子(Balance Factor,简写为bf)原创 2023-08-19 09:59:14 · 2759 阅读 · 161 评论 -
二叉搜索树(二叉排序树)
构造一颗二叉搜索树的过程就是插入过程,找寻要插入元素的位置的规则,将要插入的数据与根节点比较,如果比根节点大,则在右子树中寻找,再将要插入的元素跟右子树的根节点比较,如果大,则继续在右子树中找,反之。二叉搜索树的一个特性,一个节点的所有左子树的值一定比这个节点的值小,一个节点的所有右子树的值比这个节点的值大,所以我们使用中序遍历可以得到一个升序的数组,我们实现的遍历也是利用递归实现中序遍历。7.插入7,由于7小于8,进入左子树3,7又大于3,进入右子树6,7还大于于6,则7为6的右子树。原创 2023-07-29 09:17:58 · 741 阅读 · 7 评论 -
【C++】priority_queue(优先级队列)
1.优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。> 2. 此上下文类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。> 3. 优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从特定容器的“尾部”弹出,其称为优先队列的顶部。原创 2023-07-20 18:47:19 · 984 阅读 · 3 评论 -
【C++】栈和队列
> 栈和队列是计算机科学中非常重要的数据结构,它们可用于许多应用程序中,如编译器、操作系统、网络路由器等。在本文中,我们将讨论栈和队列的基本概念、操作和应用。原创 2023-07-19 18:50:31 · 1079 阅读 · 2 评论 -
【数据结构】排序
数据结构中常见的排序算法实现原创 2023-04-11 19:31:09 · 240 阅读 · 0 评论 -
【数据结构】二叉树
【数据结构】 二叉树原创 2023-04-01 20:30:31 · 111 阅读 · 0 评论 -
【数据结构】栈和队列
C语言模拟实现栈和队列原创 2023-03-21 16:18:42 · 130 阅读 · 0 评论