太极1:STL&红黑树1

1.STL中的容器:
容器:以模板的方式对常见数据结构进行封装----->作用:组织数据
分类:序列式容器、关联式容器
底层为红黑树结构:map、set、multimap、multiset
底层为哈希结构:unorder_map、unordered_set、unordered_multimap、unorder_multiset

map、set、multimap、multiset
共同点:1.底层结构都为红黑树
2.使用迭代器进行遍历,中序遍历
3.插入/查找/删除—>logN
不同点:map:元素类型为K-V键值对,而且要求key一定要唯一
set:元素类型K,而且要求key必须要唯一
multimap:同map,但是key可重复
multiset:同set,但是key可重复

二叉搜索树:
二叉搜索树又称为二叉排序树,它可以是一棵空树,或者是具有以下性质的二叉树:
1.若它的左子树不为空,则左子树上所有节点的值都小于根结点的值
2.若它的右子树不为空,则右子树上所有节点的值都大于根结点的值
3.它的左右子树也分别为二叉搜索树

特性:
1.任意节点都比其左子树中的所有节点大,比其右子树中的所有节点小
2.最左侧节点一定是最小的,最右侧节点一定是最大的
3.中序遍历后可以得到一个有序的序列

二叉搜索树:插入/删除/查找—>时间复杂度:O(N)
二叉平衡树:每个节点左右子树中的节点的个数几乎是相同的

map/set/multimap/multiset:插入/删除/查找:时间复杂度O(logN)
其底层结构没有直接使用二叉搜索树,而是在二叉搜索树的基础上进行改进
改进目的:让二叉搜索树变成二叉平衡树---->提高查找的效率

红黑树:
一种二叉搜索树,但是在每个节点上增加一个存储位表示节点的颜色,可以是Red或者Black,通过任何一条从根到叶子上的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因此是接近平衡的

性质:
1.每个节点都有颜色,红色、黑色
2.根节点一定是黑色的
3.不能有连在一起的红色节点
4.每条路径中黑色节点的个数是相等的
5.所有的叶子节点都是黑色的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值