我的要求是能够快速检索树中的最小值和最大值。 (注意,不是最小/最大密钥,而是卫星数据的最小值/最大值。)
树将基于字符串作为键,每个节点将存储一个整数。这个整数必然会发生变化并不断更新。密钥保持不变
我正在考虑使用描述here增强红黑树的方法,以便每个节点存储最小值(左边的最大值和右边的最大值以及最大值)与最小值相似。
因此,当我更新节点时,我只需更新遍历到达当前节点的每个节点的最小值/最大值。
避免重写红/黑树的STL实现的最佳方法是什么。
答案 0 :(得分:1)
你不能使用STL容器(例如set
,据我所知,这在技术上甚至不需要我BST),因为它不能让你访问底层结构
您的选择是:
正如您已经提到的,编写自己的BST。
只需使用按整数值排序的辅助BST(或堆)。
使用Boost的multi_index_container
。