从二叉树中删除

时间:2017-05-03 12:35:12

标签: c binary-tree

我遇到了二叉树的问题。在我的代码中,我计划实现添加,删除和打印等功能。虽然添加和打印工作正常,但我有删除的麻烦。我的想法 - 问题在于指针。我通过2个指针添加并删除1,但我无法弄清楚如何让它工作。请帮忙。

<bean id="flowExecutor" class="com.example.MyFlowExecutorFactoryBean ">
  <property name="flowDefinitionLocator" ref="flowRegistry" />
  <property name="flowExecutionListenerLoader">
    <bean class="org.springframework.webflow.config.FlowExecutionListenerLoaderFactoryBean">
      <property name="listeners">
        <map>
          <entry key-ref="yourFirstListener" value="*" />
          <entry key-ref="yourSecondListener" value="*" />
        </map>
      </property>
    </bean>
  </property>
</bean>

1 个答案:

答案 0 :(得分:4)

您不能简单地删除二叉树的节点。您可以轻松删除一个叶子,只需将父级的lchild或rchild伙伴设置为null即可。但是,如果不删除所有子节点,则无法删除内部节点。您可以做的是旋转节点,以便左子(或右子)成为子树的根,并且根成为子。将新的子树根重新附加到树中。重复,直到最后您要删除的节点成为叶子,并将其删除。

相关问题