二叉树添加删除节点Python
一棵二叉树,每一个节点都有左子树和右子树,二叉树的操作都可以递归的调用子树来完成。在C中有指针的概念,子树用指针实现,函数用指针作为参数。但是,Python采用对象引用,对空对象赋值,只在函数作用范围内有效,并不会生成一个新节点。如果是删除过程,那么仅传递的变量被指向空,也不会改变树的链式结构。 二叉树添加删除节点 问题说明,添加节点伪代码: node = root insert(node) def insert(node): if node == None: node = Node(key,value) ## node赋值后不再代表父节点的子节点,而是指向一个新的对象 ## 插入失败 else: node = node.chlid insert(node) 问题说明,删除节点说明 node = root delete(node) def delete(node,key): if node.key == key: node == None ## node 指向None常量,而原节点不变 ## 删除失败 else: node = node.child delete(node) 用函数返回...