Algorithm 删除满足属性的节点
我想写一个函数,它以一个指向二叉树根的指针作为参数,该二叉树模拟(不一定是二叉树)有序树。 我们认为树的每一个节点都与必要的指针“代码> LC<代码>和<代码> RS,一个整数<代码>编号<代码>相分离。该函数应遍历有序树的所有节点,对于每个节点u,它应执行以下操作: 如果排序树上u最右边的子级是叶,则应删除该子级 这是否意味着我们得到了一个二叉树,如下所示 然后对应的有序树如下,我们想删除节点C和G 还是我理解错了 编辑:我编写了以下算法:Algorithm 删除满足属性的节点,algorithm,tree,binary-tree,Algorithm,Tree,Binary Tree,我想写一个函数,它以一个指向二叉树根的指针作为参数,该二叉树模拟(不一定是二叉树)有序树。 我们认为树的每一个节点都与必要的指针“代码> LC和 RS,一个整数编号相分离。该函数应遍历有序树的所有节点,对于每个节点u,它应执行以下操作: 如果排序树上u最右边的子级是叶,则应删除该子级 这是否意味着我们得到了一个二叉树,如下所示 然后对应的有序树如下,我们想删除节点C和G 还是我理解错了 编辑:我编写了以下算法: Algorithm(node *A){ node *p=A,*q=NULL;
Algorithm(node *A){
node *p=A,*q=NULL;
if (p==NULL) return;
if (p->LC!=NULL){
q=p->LC;
if (q->RS!=NULL and q->RS->RS==NULL and q->RS->LC==NULL){
q->RC=NULL;
}
if (q->LC!=NULL) Algorithm(q);
}
Algorirthm(q->RC);
}
你能告诉我这是否正确吗?这些照片看起来非常相似…@OliverCharlesworth噢,对不起。。。这是同一张照片。。。我编辑了我的文章…我认为只有节点G和C必须在最初的树中被删除,这是完全删除G和C,不要将它链接到B和F