本文实例讲述了JavaScript数据结构之二叉树的删除算法。分享给大家供大家参考,具体如下:
删除节点的操作复杂程度取决于删除哪个节点
。如果删除没有子节点的节点就非常简单,如果节点只有一个子节点,不管是左子节点还是右子节点,就变得稍微有点复杂,如果节点包含两个子节点就最复杂。删除节点是叶子节点,那么只需要将从父节点指向它的链接指向null。
删除节点只包含一个子节点,那么原本指向它的节点就得使其指向它的子节点。
删除节点包含两个子节点,那么我们可以采用两种方式,一种是查找待删除节点左子树上的最大值,一种是查找待删除节点右节点上的最小值。我们采取后者,找到最小值后,将临时节点上的值复制到待删除节点,然后再删除临时节点。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。