我目前面临以下问题:
给定的是一个具有不可更改的根节点和n个子节点的树。 我需要优化这棵树,以便:
所有节点都是<根节点。 但是,有时节点只是<根节点,而不是<或者>比另一个节点。
任何想法,提示等都会受到高度赞赏。
谢谢。
答案 0 :(得分:0)
从你的描述中,听起来好像你只是想:(1)按照降序对节点进行排序,然后(2)如果每个节点的值严格小于前一个节点,则使每个节点成为其前一个节点的子节点,并且其前身的兄弟姐妹。这样,树的高度就是不同值的数量,这是最大值,它可能是第三个条件。
我不禁怀疑你想要更复杂的东西。我不知何故错过了这一点吗?
答案 1 :(得分:0)
我同意Alexei,我认为你想要做的是一个带有自定义插入功能的链表,该功能可以按特定顺序插入元素。 这是基于你的问题。
现在,我现在不知道你在这里想要做什么,但如果目标是保持一个有效的对象排序集合,我的猜测是使用Binary Search Tree。 按顺序遍历此树将非常容易,并返回已排序的项目列表。插入和删除也非常简单,只有平均复杂度O(log n)。