- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2、插入算法: 首先执行查找算法,找出被插结点的父亲结点。 判断被插结点是其父亲结点的左、右儿子。将被 插结点作为叶子结点插入。 若二叉树为空。则首先单独生成根结点。 注意:新插入的结点总是叶子结点。 e、g:将数的序列:122、99、250、110、300、280 作为二叉排序树的结 点的关键字值,生成二叉排序树。 122 122 99 122 250 99 2、插入算法: 首先执行查找算法,找出被插结点的父亲结点。 判断被插结点是其父亲结点的左、右儿子。将被 插结点作为叶子结点插入。 若二叉树为空。则首先单独生成根结点。 注意:新插入的结点总是叶子结点。 e、g:将数的序列:122、99、250、110、300、280 作为二叉排序树的结 点的关键字值,生成二叉排序树。 122 122 99 122 250 99 122 250 110 99 2、插入算法: 首先执行查找算法,找出被插结点的父亲结点。 判断被插结点是其父亲结点的左、右儿子。将被 插结点作为叶子结点插入。 若二叉树为空。则首先单独生成根结点。 注意:新插入的结点总是叶子结点。 e、g:将数的序列:122、99、250、110、300、280 作为二叉排序树的结 点的关键字值,生成二叉排序树。 122 122 99 122 250 99 122 250 110 99 122 250 300 110 99 2、插入算法: 首先执行查找算法,找出被插结点的父亲结点。 判断被插结点是其父亲结点的左、右儿子。将被 插结点作为叶子结点插入。 若二叉树为空。则首先单独生成根结点。 注意:新插入的结点总是叶子结点。 122 250 300 110 280 99 e、g:将数的序列:122、99、250、110、300、280 作为二叉排序树的结 点的关键字值,生成二叉排序树。 122 122 99 122 250 99 122 250 110 99 122 250 300 110 99 2、插入算法: Status SearchBST ( BiTree T,KeyType key, BiTree f,BiTree p ) // 在二叉排序树 T 查找关键字之值为 key 的结点。初始时 f 为 NULL。 // 如树空,返回 p 为 NULL及 FALSE。如树非空且查找成功,返回 p = T 及 TRUE。 // 如树非空且查不成功,返回 p = f 及 FALSE。f 为待插入结点的的父亲结点的地址。 { if ( ( !T) { p = f; return FALSE; } else if ( EQ( key, T -data. key ) ) { p = T; return TRUE; } else if ( LT( key , T -data. key ) ) return (SearchBST ( T - lchild, key, T, p )); else return (SearchBST ( T - rchild, key , T, p )); } // SearchBST 程序实现: 122 250 300 110 99 T p f:null f: T 的父亲结点 p: 指向最后一个结点,TRUE 找到;FALSE 叶子的父亲结点。如:插入 280 的过程。 280 2、插入算法: 执行实例:插入值为 280 的结点 122 250 300 110 99 T f:null 122 250 300 110 99 f T Key=280 122 250 300 110 99 f T Key=280 f 122 250 300 110 99 T:null Key=280 p 122 250 300 110 99 280 2、插入算法: Status Inset BST ( BiTree T, ElemType e ) // 在二叉排序树中不存在 e.key 时,插入并返回 TRUE,否则返回 FALSE。 { if ( ! SearchBST ( T,e.key,NULL,p ) { s = ( Bitree ) malloc ( sizeof ( BitNode ) ); s-data = e; s-lchild = s-rchild = NULL; if ( ! p ) T = s; else if ( LT( e.key , p -data. key ) ) p - lchil
您可能关注的文档
- 教育案例审视教师的专业发展.ppt
- 教育案例反思教育目的.ppt
- 教育案例演示文稿.ppt
- 教育案例的应用与撰写.ppt
- 教育案例研究——教师专业化成长的阶梯.ppt
- 教育法学案例分析.ppt
- 教育研究成果的生成与呈现.ppt
- 教育研究报告的撰写.ppt
- 教育科学研究方法.ppt
- 教育科学研究方法及研究论文写作.ppt
- 中国刀库行业市场供需格局及行业前景展望报告.docx
- 中国汽车检测行业发展趋势预测及投资战略咨询报告.docx
- 中国物流输送设备行业市场全景监测及投资前景展望报告.docx
- 2025年中国混合动力客车行业市场发展监测及投资战略咨询报告.docx
- 2021-2026年中国硅片设备行业深度评估及投资规划建议报告.docx
- 中国农村合作医疗管理系统行业市场前景预测及投资价值评估分析报告.docx
- 2025年中国核辐射探测器行业发展趋势预测及投资战略咨询报告.docx
- 中国农产品冷链物流行业市场现状及发展前景-预测2025年需求总量.docx
- 2022-2027年中国贴片机行业市场供需现状及投资战略研究报告.docx
- 中国履带自走式旋耕机市场深度分析及投资战略咨询报告.docx
文档评论(0)