[英]Tree with Multiple Children - Linear Time Access Complexity
我的问题不是持有树的结构,而是我的做事方式。 因为我认为从长远来看,此实现会花费很多。
我有一个树结构,其中树节点将包含其子节点的引用列表 。 但是这里的问题是, 在找到节点的子代时,我们需要遍历子代列表,这将花费线性时间(线性时间复杂度) 。 而且我还需要将所有这些都存储为直系子女(因为直系子女使用了子女词)。
现在,除了List结构之外,还有什么方法可以放置所有子项,以便从List检索和删除子项将是高效且对数的(如果可以的话)?
如果要遍历树,然后从根节点转到正确的子节点,则必须检查每个子节点的条件。 该检查将是线性搜索和检查 。 我只想要一种技术,该技术将有助于改进遍历过程中在子代列表中搜索合适子代的算法。
不仅让每个节点保留一个常规列表,还让它保留一个排序列表(log n查找)或一个hashmap(恒定时间查找)。 在这种情况下,排序可能是最好的,因此您可以轻松地遍历元素并节省空间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.