电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

查找 - 树上的查找 - 二叉排序树(四)


发布日期:2020/9/1
 

() 二叉排序树上的查找

①查找递归算法

在二叉排序树上进行查找和二分查找类似也是一个逐步缩小查找范围的过程

递归的查找算法

BSTNode *SearchBST(BSTree TKeyType key)

{ //在二叉排序树T上查找关键字为key的结点成功时返回该结点位置否则返回NUll

if(T==NULL||key==T>key) //递归的终结条件

return T; //T为空查找失败;否则成功返回找到的结点位置

if(keykey)

return SearchBST(T>lchildkey);

else

return SearchBST(T>rchildkey);//继续在右子树中查找

} //SearchBST

②算法分析

在二叉排序树上进行查找时若查找成功则是从根结点出发走了一条从根到待查结点的路径若查找不成功则是从根结点出

发走了一条从根到某个叶子的路径

() 二叉排序树查找成功的平均查找长度

在等概率假设下下面(a)图中二叉排序树查找成功的平均查找长度为

在等概率假设下(b)图所示的树在查找成功时的平均查找长度为

ASL b =(+++++++++)/=

注意

与二分查找类似和关键字比较的次数不超过树的深度

上一篇:图 - 最短路径 (二)

下一篇:图 - 拓扑排序 (一)