1

我的问题不在于持有树的结构,而是我的做法;因为我认为从长远来看,这种实施将花费很多。

我有一个树结构,其中树节点将包含其子项的引用列表。但是这里的问题是,在找到节点的子节点时,我们需要遍历子节点列表,这将花费线性时间(线性时间复杂度)。而且我还需要将这些都存储为直系子女(因为直系子女使用儿童词)。

现在,有什么办法可以将除 List 结构之外的所有子项放入 List 结构中,以便从 List 中检索和删除子项将是有效的和对数的(如果可以的话)? 在此处输入图像描述

如果我要遍历树然后从根节点转到正确的子节点,我将不得不检查每个子节点的条件。该检查将是Linear search 和 check。我只想要一种有助于改进在遍历期间在子列表中搜索正确子的算法的技术。

4

1 回答 1

1

与其让每个节点保持一个常规列表,不如让它保持一个排序列表(log n 查找)或哈希图(恒定时间查找)。在这种情况下,排序可能是最好的,因此您可以轻松地迭代元素并节省空间。

于 2013-08-18T06:39:56.367 回答