数据结构——基于C++语言(微课版) 课件 1-4 二叉排序树.pptx

数据结构——基于C++语言(微课版) 课件 1-4 二叉排序树.pptx

二叉排序树中查找结点;二叉排序树中删除结点。本节目录:本节内容:二叉排序树二叉排序树

二叉排序树的查找在二叉排序树中查找给定值k的过程是:⑴若root是空树,则查找失败;⑵若k==root-data,则查找成功,返回root;⑶若k<root-data,则在root的左子树上查找;⑷若kroot-data,则在root的右子树上查找。上述过程一直持续到k被找到或者待查找的子树为空,如果待查找的子树为空,则查找失败。二叉排序树的查找效率在于只需查找二个子树之一。

二叉排序树的查找例:在二叉排序树中查找关键字值为35,95的过程:5030208090858840353250302080908588403532

二叉排序树的查找二叉排序树的查找性能分析二叉排序树的查找性能取决于二叉排序树的形状,在O(log2n)和O(n)之间。由序列{3,1,2,5,4}得到二叉排序树:由序列{1,2,3,4,5}得到二叉排序树:ASL=(1+2+3+4+5)/5=3ASL=(1+2+3+2+3)/5=2.21234531254

二叉排序树的删除在二叉排序树上删除某个结点之后,仍然保持二叉排序树的特性。删除的结点可以分三种情况:被删除的结点是叶子;被删除的结点只有左子树或者只有右子树;被删除的结点既有左子树又有右子树。

二叉排序树的删除情况1

文档评论(0)

1亿VIP精品文档

相关文档