
C++
文章平均质量分 90
C++相关知识
微笑的高圆圆圆圆
You'll never be alone
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
红黑树的性质和实现
假设插入的是红节点:如果其父亲是黑节点那么一点问题都没有;对于每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。假设插入的是黑色节点,那么路径之间的黑节点的个数不再相同,所有路径都出现了问题。这里向上处理是个循环,而循环的结束条件为:g的父亲不存在或者g的父亲存在且为黑。红黑树,在每个节点上增加一个存储位表示节点的颜色,可以是RED或BLACK。此外cur并不一定是新插入的节点,有可能是正好向上调整到这个节点。约定:cur为当前节点,p为父节点,g为祖父节点,u为叔叔节点。原创 2023-11-06 16:12:26 · 190 阅读 · 0 评论 -
AVL树性质和实现
AVL树是一棵绝对平衡的二叉搜索树,其要求每个节点的左右子树高度差的绝对值都不超过1,这样可以保证查询时高效的时间复杂度,即log2Nlog_2 (N)log2N。但是如果要对AVL树做一些结构修改的操作,性能非常低下,比如:插入时要维护其绝对平衡,旋转的次数比较多,更差的是在删除时,有可能一直要让旋转持续到根的位置。因此:如果需要一种查询高效且有序的数据结构,而且数据的个数为静态的(即不会改变),可以考虑AVL树,但一个结构经常修改,就不太适合。原创 2023-11-06 16:10:26 · 604 阅读 · 0 评论 -
C++栈和队列
stack和queue与之前的容器有所区别,它们两个是容器适配器:是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素。容器适配器是一个封装了序列容器的,它在一般序列容器的基础上提供了一些不同的功能。之所以称作适配器类,是因为它可以通过适配容器现有的接口来提供不同的功能。比如充电器的头就是一个电压适配器反向迭代器也是一个适配器,是用正向迭代器转换出来的。原创 2023-08-30 16:14:47 · 83 阅读 · 0 评论 -
类和对象(续)
更不能通过外部类的对象去访问内部类的成员。但反过来,原创 2023-04-01 18:43:33 · 257 阅读 · 0 评论 -
C++类和对象(初)
class 类名成员变量成员函数类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数类中成员变量的定义写在类的前面还是后面都无所谓。因为类是一个整体,既会向上搜索也会向下。原创 2023-03-17 19:42:08 · 739 阅读 · 1 评论 -
类和对象基础知识
class 类名成员变量成员函数类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数类中成员变量的定义写在类的前面还是后面都无所谓。因为类是一个整体,既会向上搜索也会向下如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。原创 2023-03-25 15:21:42 · 433 阅读 · 0 评论