繁体   English   中英

多子树-线性时间访问复杂性

[英]Tree with Multiple Children - Linear Time Access Complexity

我的问题不是持有树的结构,而是我的做事方式。 因为我认为从长远来看,此实现会花费很多。

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

现在,除了List结构之外,还有什么方法可以放置所有子项,以便从List检索和删除子项将是高效且对数的(如果可以的话)? 在此处输入图片说明

如果要遍历树,然后从根节点转到正确的子节点,则必须检查每个子节点的条件。 该检查将是线性搜索和检查 我只想要一种技术,该技术将有助于改进遍历过程中在子代列表中搜索合适子代的算法。

不仅让每个节点保留一个常规列表,还让它保留一个排序列表(log n查找)或一个hashmap(恒定时间查找)。 在这种情况下,排序可能是最好的,因此您可以轻松地遍历元素并节省空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM