用C语言对二叉排序树,分别给出测试案例查找成功和查找失败的查找次数,在等概率情况下,给出查找成功和查找不成功的公式和结果
时间: 2023-12-28 22:00:32 浏览: 72
数据结构 课程设计 二叉排序树查找C语言代码1 含测试序列.doc
假设二叉排序树中共有n个节点,每个节点的值都是随机的且等概率的。现在我们要对这个二叉排序树进行查找操作。
1. 查找成功:
(1)查找次数的公式:
在等概率情况下,每个节点被查找的概率相等,因此查找次数的期望值为树的深度,即log2(n+1)-1。因此,查找成功的平均查找次数为log2(n+1)-1。
(2)查找次数的结果:
以二叉排序树 {4, 2, 6, 1, 3, 5, 7} 为例,查找元素5时,查找路径为4->6->5,共查找3次。
2. 查找失败:
(1)查找次数的公式:
在等概率情况下,查找失败的情况下,每次查找都只能到达树的叶子节点,因此查找次数的期望值为树的深度加1,即log2(n+1)。因此,查找不成功的平均查找次数为log2(n+1)。
(2)查找次数的结果:
以二叉排序树 {4, 2, 6, 1, 3, 5, 7} 为例,查找元素8时,查找路径为4->6->7,共查找3次。
注:这里的查找次数指的是比较元素的次数,而不是访问节点的次数。
阅读全文