二叉排序树-PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
否
Switch(1)
是
中序遍历
否
Switch(2)
计算平均查找长度
是
否
Switch(3)
是
删除结点
否
default
是
提示出错
否百度文库
生成二叉排序树
以“回车”作为输入结束标志,输入 数列L,生成一棵二叉排序树。 建立二叉排序树,首先用一个一维数 组记录下读入的数据,然后再用边查 找边插入的方式将数据一一对应放在 完全二叉树相应的位置,为空的树结 点用“0” 补齐。
主程序
程序中首先是建立一个二叉排序树,然 后设计了四个模块: 退出 中序遍历 平均查找长度 删除结点
结束
十分感谢帮助我的老师和同学,由于 水平有限,如有错误,请指正。
查找并删除结点
输入元素x,查找二叉排序树T,若存在含 x的结点,则删除该结点,并作中序遍历, 否则输出信息“无x”。
删除二叉排序树中某个结点,采用边查找 边插入的方式,类似重新建立一个一维数 组作为存储新树的空间。将原数组中的数 据一个一个的插入树中,若遇到需要删除 的结点则不执行插入操作。
在一棵二叉排序树上,查找与x有相同关键字值的 元素的递归算法可描述为: 若二叉树为空,则搜索失败;否则,将x与根结 点比较,若x小于该结点的值,则以同样的方法搜 索左子树,而不必搜索右子树;若x大于该结点的 值,则以同样的方法搜索右子树,而不必搜索左子 树;若x等于该结点的值,则搜索成功终止。这里 元素间的比较是指它们的关键字值间的比较。 只有搜索到达空子树时,搜索算法才算失败终 止。
中序遍历
对二叉排序树作中序遍历,输出结 果。
中序遍历二叉树也采用递归函数的 方式,先访问左子树2i,然后访问根 结点i,最后访问右子树2i+1.先向左 走到底再层层返回,直至所有的结 点都被访问完毕。
计算平均查找长度
计算二叉排序树T查找成功的平均查找长度, 输出结果。 计算二插排序树的平均查找长度时,采类 似中序遍历的递归方式,用s记录总查找长 度,j记录每个结点的查找长度,s置初值为 0,采用累加的方式最终得到总查找长度s。 平均查找长度就等于s/i(i为树中结点的总 个数)。
二叉排序树
——顺序表结构存储
成员:孙杨 任务:
二叉排序树的创建、二叉排序树关键字的查找和 中序遍历。二叉排序树指定关键字的删除和平均 查找长度的计算
设计目录
顺序表存储结构 生成二叉排序树 中序遍历 计算平均查找长度 查找并删除结点 主程序
创建二叉排序树
流程图
是
Exit(0)退出
Switch(0)