二叉排序树的建立与删除.docVIP

  • 8
  • 0
  • 约3.19千字
  • 约 7页
  • 2018-09-25 发布于江苏
  • 举报
二叉排序树的建立与删除

二叉排序树的建立和删除 要求: 输入一组关键值,建立相应的二叉排序树,完成节点的查找和删除操作。要求: 可以实现删除根结点、叶子结点及其他任意节点的功能; 可随时显示操作的结果。 算法: 1、二叉排序树的生成: 向一个二叉排序树b中插入一个结点s的算法, 若b是空树,则将s所指结点作为根结点插入;否则 若s-data等于b的根结点的数据域之值,则返回;否则 若s-data小于b的根结点的数据域之值,则把s所指根结点插入到左子树中;否则 把s所指结点插入到右子树中。 2、二叉排序树的查找: 在二叉排序树b中查找x的过程为: 若b是空树,则搜索失败,否则 若x等于b的根结点的数据域之值,则查找成功;否则 若x小于b的根结点的数据域之值,则搜索左子树;否则 查找右子树 3、二叉排序树的插入: 算法同“生成”。 4、二叉排序树的删除 删除二叉排序树b中一个数据域为x的结点的过程为: 首先查找到数据域为x的结点p; 若p所指没有左子树,则用右子树的根代替被删的结点; 若p所指结点有左子树,则在其左子树中找到最右结点r来代替被删的结点(即将r所指结点的右指针置成p所指结点的右子树的根,然后用p所指结点的左子树的根结点代替被删的p所指结点)。 5、二叉排序树的显示: 采用中序遍历输出,显示结果是将值从小到大排列。 平台: Windows XP VC6.0 程序清单: #includei

文档评论(0)

1亿VIP精品文档

相关文档