寒假训练报告1.25(二叉搜索树)

  1. 二叉搜索树的结构(可高效完成以下操作)
    1. 插入一个数值
    2. 查询是否包含某个数值
    3. 删除某个数值
      2.特点
      对于所有结点,满足左子树上的所有节点都比自己的小,右子树上的所有结点都比自己大。
      3.复杂度
      无论哪种操作,都与树的高度成正比。O(log n)
      4.set —— STL 中用二叉搜索树维护集合的容器
//声明
set<int> s;

//插入元素
s.insert(1);
s.insert(5);

//删除元素
s.erase(5);

//查找元素
set<int> :: iterator it;
it = s.find(1);
if(it == s.end())   puts("not found");

//其他的查找元素的方法
if(s.count(3) != 0) puts("found");

//遍历所有元素的方法
for(it = s.begin(); it != s.end(); it++)
    cout << *it << endl;

5.map —— 维护键和键对应的值的容器

//声明(int为键,const char*为值)
map<int, const char*> m;

//插入元素
m.insert(make_pair(1, "ONE"));
m.insert(make_pari(10, "TEN"));
m[100] = "HUNDRED"; //其他写法

//查找元素
map<int, const char*> :: iterator it;
it = m.find(1);
puts(it->second);
puts(m[10]);    //其他写法

//删除元素
m.erase(10);

//遍历所有元素
for(it = m.begin(); it != m.end(); it++)
    printf("%d: %s\n", it->first, it->second);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值