- 博客(7)
- 收藏
- 关注
原创 红黑树的模拟实现
红黑树也是一种二叉搜索树,但它的每个节点上面都包含一个存储单位表示该节点的颜色,可以是RED也可以是BLACK。通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树就能够保证没有一条路径会比其他路径长出两倍,因而是接近于有序的。 1.每个节点不是红色的就是黑色的。 2.根节点要是黑色的。 3.如果一个节点是红色的,那么他的两个孩子都必须是黑色的(也就是说不能有两个连续的红色节点)。 4.对于每一个节点来说,从该节点到其后代的所有结点的路径上,
2024-12-03 20:54:49
957
原创 map和set
(1).set是根据一定次序关系金勋存储元素的容器。(2).在set中,只存放一个value,但在底层实际存放的是的键值对,而且在set中,value必须是唯一的不能够出现重复。(3).value的数值不能够进行修改,但是可以对set进行插入和删除。(4).set在底层是使用二叉搜索树来进行的实现。(1)map是一种关联式容器,它是通过key来进行比较,然后存储的是的键值对。
2024-11-20 18:42:01
747
1
原创 二叉搜索树
二叉搜索树又叫做二叉排序树,它拥有一些特殊的性质。1.若它的左子树不为空,那么左子树上面的节点全部小于根节点。2.若它的右子树不为空,那么右子树上面的节点全部大于根节点。3.它的左右子树也全部都是二叉搜素树,也就是同样遵循1,2点特征。
2024-11-08 21:45:52
1219
原创 stack和queue的使用介绍和模拟实现
(2)通过循环,将这一层的小树全部调整为大堆或者小堆的格式,然后再对父节点的上面一层进行调整,此时父节点上一层父父节点的子节点全部都是大堆或者小堆的格式,这时候再次使用向下调整算法,将父父节点调整为最大的或者最小的,此时父节点拿到了调整下来的节点数据,再对父节点和子节点那一棵树进行调整,调整为大堆或者小堆的格式。优先队列是如何做到优先的?它的底层实现中,采用的是堆的数据结构,使用大堆的数据结构可以保证顶部元素永远是最大的,经历元素弹出后由底层的算法调整,可以让余下的元素中的最大元素到达堆顶,小堆也是如此。
2024-11-02 16:15:41
943
原创 List类函数使用讲解及模拟实现
1.List是一个支持在任意位置进行插入和删除的序列式容器。2.List底层实现时使用的是双向链表结构,每个节点之间都互不相干,通过指针进行前后结点的指向。3.List的优点在于进行数据的插入和删除的时候,不需要去大量的挪动数据,效率更高。4.List的缺陷就是List并不是使用一段连续的空间存储,所以它并不支持随机访问。
2024-10-27 18:39:29
1098
原创 string类函数使用讲解及模拟实现
在c语言中,字符串作为一种数据类型,是以‘\0’为结尾的一串字符的集合,而在c++中,string是表示字符串的字符串类,为一个标准的字符串容器,相较于c语言中操作字符串的复杂多变的函数而言,string类中多种接口的实现,使得这些功能的调用显得格外方便。该函数的作用为获取一段字符串构造成一个string对象进行返回,第一个参数为从下标为几的位置开始截取字符串,第二个参数的含义为需要截取的字符串有效长度为几,第二个参数如果不传参,默认使用缺省参数npos,截取到最后一位。
2024-10-13 09:16:55
1023
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅