我需要找到在二叉树上使用预处理的数据结构,并在O(n)空间和O(1)时间内回答 LCA查询。
在这种情况下,哪种数据结构有帮助? 谢谢
答案 0 :(得分:0)
有几种数据结构可以解决这个问题。最常见的方法是使用数据结构来解决范围最小查询问题,可以使用O(n)预处理时间和O(1)查询时间来解决,然后使用它来解决LCA。我为今年早些时候教过的一门课程整理了关于这个主题的两部分系列讲座幻灯片。
对于它的价值,实际上,有些解决方案使用O(n)预处理时间和O(log n)查询时间,但比同等的最坏情况有效结构更快。对于大多数实际目的而言,第一组演讲幻灯片中描述的⟨O(n),O(log n)⟩混合是足够好的。