- 博客(26)
- 收藏
- 关注
原创 详解红黑树及其插入过程
红黑树顾名思义是一种以颜色作为节点区分的二叉树,具体来说,是一种三叉链的二叉搜索树,相较于平衡二叉树而言,红黑树的控制节点高度的方式从原来AVL树的高度差超过一就频繁旋转调整的方式更改为根据红黑关系进行调整,这样下来,虽然搜索效率不如AVL树,但考虑到二叉树的结构,影响是微乎其微的,但是红黑树的插入效率会有比较大的提升。1.红黑树节点非黑即红2.根节点是黑色的3.颜色为红的节点,则它的孩子节点是黑色->树中不能出现连续的红色节点:黑+黑/红+黑/黑+红->最短节点全黑,最长节点红黑交替4.每条路径都包
2024-06-24 23:41:14 325
原创 详解AVL树旋转调整过程
AVL树,即平衡二叉树,是一种在搜索二叉树上进行改进的数据结构,搜索二叉树能够控制节点在树中位置的数据结构,能够做到建立数据的关联性。对于单个元素搜索的一般场景下时间复杂度为log2N,但是极端场景下:搜索树的时间复杂度会退化到Olog2N此时平衡二叉树被提出,能够在插入元素时动态地调整元素位置,使得二叉树的形状尽量“丰满”,达到左右子树较为平衡的状态,即。
2024-06-09 19:24:08 477 2
原创 C++多态深入解析
在C++中,多态性允许我们通过基类的指针或引用来操作不同派生类的对象,并调用适当的方法。它主要分为两种形式:静态多态和动态多态。
2024-05-11 23:06:48 350
原创 C语言实现常见排序算法
插入排序是模拟的打扑克中的理牌顺序,每次在已排序列中从后往前排,找到相应的位置并插入。插入排序稳定的排序算法,相等元素的相对位置在排序后不会改变O1O(1)O1时间复杂度:On2O(n^2)On2OnO(n)OnOn2O(n^2)On21、预排序–接近有序2、插入排序具体来说:间隔gap分为一组,总计gap个子序列,一次走gap,然后对gap每组进行分别插入排序。
2024-03-13 23:05:00 1316
原创 玩转代码的秘密武器: gdb
如果你曾被代码的奇怪行为困扰,那么 gdb 是你的超级朋友。这个神奇的工具就像是代码的瑞士军刀,能帮你解决各种棘手问题。
2023-10-28 12:18:18 102
原创 既约分数(c/c++)题解
如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。请问,有多少个既约分数,分子和分母都是 1 到 20202020 之间的整数(包括 1 和 2020)?
2023-01-10 11:34:25 254
原创 进制转换(c/c++)题解
题目:进制转换程序设计。给定一个R 进制的数 x,实现由 x 向任意非 R 进制数的转换。(1)中间必须经过二进制或十进制展开;(2)输出结果必须展示出进制转换的展开式形式。例如,输入八进制 137,输出:137 = 1*8^2 + 3*8^1 + 7*8^0。
2023-01-06 22:00:57 576 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人