二叉排序树
傻傻24再战
千里之行,始于足下。
展开
-
分解二叉排序树为两颗二叉排序树T1和T2,使得T1中关键字值都小于关键字x,T2中关键字都大于关键字X
算法思想:先序遍历二叉排序树。如果根节点等于x,则将其左子树插入到T1中,右子树插入到T2中;如果根节点大于x,则继续分解他的左子树,并将根节点和他的右子树插入T2中;如果根节点小于x,则继续分解他的右子树,并将根节点和他的左子树插入T1中;重复上述步骤,直到不存在待分解的子树停止.原创 2023-04-25 15:24:03 · 158 阅读 · 0 评论 -
在二叉排序树中查找所有小于x的关键字个数与查找关键字x所在的层数
【代码】在二叉排序树中查找所有小于x的关键字个数与查找关键字x所在的层数。原创 2023-04-25 14:11:20 · 158 阅读 · 0 评论 -
二叉排序树删除结点
算法思想:遍历二叉排序树,查找要删除结点x。将x结点看作子树的根。如果x结点不存在左右子树(即为叶子节点),直接将该节点空间释放,指针置为空;如果x结点只存在右子树,右孩子即为删除x结点后的根;如果x结点只存在左子树,左孩子即为删除子树后的根;如果x结点存在左右子树,则需要找到左子树中值最大的结点,与要删除结点进行值替换,然后删除左子树中值最大的结点(特别注意:该删除操作需要另外创建函数,并将x结点的指针的地址和其左孩子指针的地址作为参数进行传参,否则x结点左子树的指针将无法改变,会造成后续遍历出错)。原创 2023-04-25 14:03:10 · 778 阅读 · 0 评论 -
构造一棵二叉排序树
算法思想:从一棵空树开始,不断将关键字插入到二叉排序树中,最终构造出包含所有关键字元素的二叉排序树。原创 2023-04-21 00:07:59 · 153 阅读 · 0 评论