6
树集的数据结构。
尝试可以有效存储元素列表。前缀是共享的,因此节省了空间。 我正在寻找一种有效存储树的类似方法。我希望能够检查成员资格并添加元素,知道给定树是否为某些存储树的子树,或者是否存在存储树为给定树的子树也是可取的。 我通常会存储大约500棵高度小于50的不平衡二叉树。 编辑 我的应用程序是使用某种记忆的某种模型检查器。想象一下,我有一个状态和以下公式:和其中是一个复杂的子公式,并想象我首先想知道是否在成立。我检查成立,经过冗长的过程后,我确定是这种情况。现在,我想知道是否在成立。我想记住成立的事实,并注意到这样我几乎可以立即得出中。˚F = φ 克= (φ ∨ ψ )φ ˚F 小号φ 克小号˚F 克⇒ ˚F 克小号sssF= ϕf=ϕf = \phiG= (φ ∨ ψ )g=(ϕ∨ψ)g = (\phi \vee \psi)ϕϕ\phiFffsssϕϕ\phiGggsssFffG⇒ ˚Fg⇒fg \Rightarrow fGggsss 相反,如果我已经证明不能满足,那么我想告诉我们不能立即满足。吨˚F 吨GggŤttFffŤtt 我们可以在公式上建立偏序,并具有 iff。对于每个状态,我们存储两组公式;存储保存的最大公式,存储不保存的最小公式。现在给定状态和公式,我可以看到,或者在这种情况下我是完成后,我直接知道是否在成立。克⇒ ˚F 小号大号(小号)升(小号)小号克∃ ˚F ∈ 大号(小号),˚F ⇒ 克∃ ˚F ∈ 升(小号),克⇒ ˚F 克小号G≥ ˚Fg≥fg \geq …