![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 93
薛定谔方程难
大学生一个,现在大二了。
无限进步
展开
-
我知道二叉树一定满足不了你,接下来上场的是[平衡二叉树之一(AVL树)]
由于二叉搜索树在面对一些数据时,会退化并且还会降低搜索效率。因此,俄罗斯的两个数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了一种能够解决问题的方法。当像二叉搜索树中插入节点之后,如果能够保证每个结点左右子树高度绝对值差不超过1(需要进行旋转调整,当超过1的时候),即可降低树的高度,从而减少平均搜索长度,提高搜索效率。总结来说,AVL树具有以下的特点1、每一个节点的左右子树都是AVL树2、左右子树的 高度差/平衡因子 的绝对值不能超过1。原创 2024-07-03 15:39:25 · 985 阅读 · 2 评论 -
孩子,你渴望知道[二叉树]吗?
又被称为二叉排序树,是一种特殊的二叉树,有着这几个典型的特点。1、若左子树不为空,则左子树上的所有节点的值小于根节点的值2、若右子树不为空,则右子树上的所有节点的值大于根节点的值3、左右子树分别也都是二叉搜索树Tip:不能存在多个相同数值的节点,这种情况下,应该使用multi个二叉树。原创 2024-07-01 15:26:00 · 516 阅读 · 0 评论 -
还没结束!下面是[平衡二叉树之二(红黑树)]
学会了AVLTree和RBTree之后,我就可以不再局限于是二叉搜索树,而是可以利用更厉害的数据结构来帮助我们实现数据的优化,针对特殊的数据也能够有不俗的优化。我们也可以通过这种优化来帮助我们解决一些算法问题,在之后的更新之中会出现类似的解题提升的文章!原创 2024-07-08 18:20:26 · 839 阅读 · 1 评论 -
你明白C++中的多态吗?(暑假提升-多态专题)
在最开始,我会讲明白分那么多的小标题的目的就是方便不懂多态的人能够有大概的框架,知道多态的能够有目的的去复习。所以标题分那么多请不要见怪。多多包涵。在这篇文章中已经讲过了C++中的一个重要的特性-继承,想回顾一下的可以点击一下链接,复习复习。接下来我们将进行多态的讲解,其中也有一部分内容和继承比较相似,容易搞混,所以我尽力的讲清楚多态的特点和注意点,如果是继承的问题想不明白的话,可以看看我之前的文章,其中也算是讲的比较详细的。多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。原创 2024-07-10 16:08:43 · 987 阅读 · 0 评论 -
搞清楚[继承],易如反掌。(暑假提升-继承专题)
派生类和基类的名字是根据程序员自行定义的,无所谓叫什么。其中继承方式有三种,分别是private,protect和public。当然继承方式和访问限定符的共同作用下才能知道成员变量或者是成员函数到底有了怎么样子的改变。基类private成员在派生类中无论以什么方式继承都是不可见的。这里的不可见是指基类的私有成员还是被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面 都不能去访问它。基类private成员在。原创 2024-07-09 17:48:19 · 906 阅读 · 0 评论 -
C++入门的基础
定义命名空间,需要使用namespace关键字,后面跟上的是命名空间的名字,然后街上一对{},在{}之中即为命名空间的成员。// hehe是命名空间的名字,一般开发中是用项目名字做命名空间名。// 我们上课用的是bit,大家下去以后自己练习用自己名字缩写即可,如张三:zs// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间可以嵌套int a;int b;int c;int d;原创 2024-02-04 13:39:55 · 1061 阅读 · 3 评论