- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TheDataStructure
数据结构
第7章:查找
二叉排序树的插入操作
二叉排序树的运算
Ø查找
•从根开始,若小于根,沿左子树50
搜索;3080
•若大于根,沿右子树搜索;
204090
•直到找到被检索结点(成功),
或子树为空(失败)。3585
Ø插入32
88
•新结点作为叶结点插入.
Ø删除
二叉排序树的插入操作
•根据动态查找表的定义,“插入”操作在查找不成功时
才进行;
•若二叉排序树为空树,则新插入的结点为新的根结点;
否则,新插入的结点必为一个新的叶子结点,其插入位
置由查找过程得到。
二叉排序树的插入算法
StatusInsertBST(BiTreeT,ElemTypee)
{//当二叉排序树中不存在关键字等于e.key的
//数据元素时,插入元素值为e的结点,并返
//回TRUE;否则,不进行插入并返回FALSE
if(!SearchBST(T,e,NULL,p))
……
{}
elsereturnFALSE;
}//InsertBST
二叉排序树的插入算法
s=(BiTree)malloc(sizeof(BiTNode));
//为新结点分配空间
s-data=e;
s-lchild=s-rchild=NULL;
if(!p)T=s;//插入s为新的根结点
elseif(ep-data.key)
p-lchild=s;//插入*s为*p的左孩子
elsep-rchild=s;//插入*s为*p的右孩子
returnTRUE;//插入成功
建立二叉排序树的过程
输入数据{53,78,65,17,87,09,81,15}
5353535353
787817781778
65656587
注意二叉排序树的形态完全由一个输入序列决定,一个无序序
535353
列可以通过构造一棵二叉排序树而得到一个有序序列。
177817781778
0965
文档评论(0)