这道题是为数不多的感觉在读本科的时候见过的问题。人工构造的过程是怎样呢,后续遍历最后一个节点一定是整棵树的根节点,从中序遍历中查找到这个元素,就可以把树分为两颗子树,这个元素左侧的递归构造左子树,右侧的递归构造右子树,元素本身分配空间,作为根节点。
于set和map容器不同的是,vector容器不含find的成员函数,应该用stl的库函数,好在返回的也是迭代器,而vector的迭代器之间是可以做...
分类:
其他好文 时间:
2014-05-09 01:23:38
阅读次数:
275
暴力法可过,效率O(n^2)
但是使用hash表可以把效率降到近乎O(n)
要巧妙使用两个map容器。
要对map和set容器很熟悉了,合起来一起使用。...
分类:
其他好文 时间:
2014-05-02 10:54:55
阅读次数:
365
在红黑树基础上设计map容器,在设计map时,可以明显利用的map模板类中KEY,VALUE,KEYOFVALUE的灵活运用
不多说,代码如下:
//my_map.h
#ifndef MY_MAP_H_INCLUDED
#define MY_MAP_H_INCLUDED
#include //for pair
#include"my_rb_tree.h"
using std::pair;...
分类:
其他好文 时间:
2014-04-29 13:27:21
阅读次数:
443