这是问题所在,我有一个存储了所有值的二叉搜索树,并且给定一定值,我需要获取其父节点的值。我想我可以自己实现这个树,但是如果我可以使用Set或Map这样的东西会非常好,因为因为它是一个编程竞赛,所以我需要能够快速编写它并且没有bug。我可以使用C ++ 11或Java,不能使用标准库之外的库,如果可能的话,我更习惯用c ++而不是java编码,但我可以做到这两点。
(OBS:这只是训练而不是实际的比赛,问题可以在这里找到https://www.urionlinejudge.com.br/judge/pt/problems/view/2120。我看了cplusplus.com检查参考但我找不到任何相似的东西)
答案 0 :(得分:0)
二叉树是用户定义的类(即不在库中)。因此,它可能由竞赛持有者定义,或者您将被要求自己编写。因此,您必须编写自己的函数来处理它。如果它不一定需要运行,您可以假设一个基本的二叉树节点结构,如:
struct Node {
Data data;
struct Node left;
struct Node right;
}
这些问题的目的是确保您能够找出算法,而不是您知道如何使用STL。你需要自己实现(可能)树和(绝对)算法。