删除树节点但保留其子节点的方法的名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除树节点但保留其子节点的方法的名称相关的知识,希望对你有一定的参考价值。

我正在开发一个处理树结构和场景图的开源JS library。由于它是一般用途的目标,API方法的名称应遵循惯例。但是,我找不到树操作的术语,其中节点从其父节点中移除,以便移除的节点的子节点插入到父节点以替换移除的节点的位置。

为了说明,方法X应用于树中的节点B

A
|
+-B
| |
| +-C
| |
| +-D
|   |
|   +-E
|
+-F

操作的结果:

A
|
+-C
|
+-D
| |
| +-E
|
+-F

这种操作/方法X的名称是什么?我记得我多年前看到它有一个特定的名字。拼接?降低?简化?拼合?

答案

我建议使用unwrap(),因为它已经被jQuery使用了,并且非常好描述了操作正在做什么(至少在我看来它更容易遵循)。无论如何,这类问题肯定主要是基于意见的,所以我的答案应该被视为一个纯粹的建议:)。

另一答案

终于找到了我看到的地方。 ZUI lib Jazz for Java为其extract()节点提供了一个方法ZGroup

public void extract():从树中提取此节点,合并它上面和下面的节点。如果此节点具有父节点,则此节点的子节点将添加到该节点所在的父节点的子节点中。如果此节点没有父节点,则其子节点将仅从其中删除。请注意,此方法会延迟触发任何必要的组事件,直到树完全更新为止。

然而,爵士乐的继任者ZUI lib Piccolo似乎已经放弃了这种方法。至少我找不到像Piccolo API docs那样的东西。也许这种方法不必要?

以上是关于删除树节点但保留其子节点的方法的名称的主要内容,如果未能解决你的问题,请参考以下文章

二叉树怎么删除节点?

(略难)二叉查找树的删除

过滤后保留选定的treenodes

console.log 二叉树中的节点,其子树的总和为偶数

JAVA中如何删除树中所选的节点?

大数据技术基础习题1