- 7
- 0
- 约3.65千字
- 约 23页
- 2017-03-30 发布于湖北
- 举报
二叉搜索树 二叉树的应用——建立二叉排序树 二叉排序树:二叉排序树要么是一棵空树,要么其根结点的值大于其左子树所有结点的值,而小于其右子树的所有结点的值,而左右子树也是二叉排序树。 中根遍历该树,则遍历序列按值有序。 二叉树的应用——建立二叉排序树算法 规则:若树中已有相同值的结点,则不进行插入操作。 二叉排序树的建立过程就是结点插入的过程每次插入时必须从根结点开始, 新插入点一定是叶子结点。 二叉树的应用——建立二叉排序树算法 插入26 二叉树的应用——建立二叉排序树算法 插入26 二叉树的应用——建立二叉排序树算法 插入26 二叉树的应用——建立二叉排序树算法 插入26 二叉树的应用——建立二叉排序树算法 插入26 二叉树的应用——建立二叉排序树算法流程图 二叉树的应用——建立二叉排序树算法 bitreptr sorttree (bitreptr root, tpointer q ) { if (!root) root=q; else { p=root ; found=0; while ( ! found p ) if (p-dataq-data ) { k=p; p=p-lc;} else if (p-data q-data ) { k=p ; p=p-rc;} else found=1; if (!p) if (k-data q-data) k-lc=q; else k-rc=q; } return(root); } 二叉树的应用——建立二叉排序树算法(递归) bitreptr sorttree1 (bitreptr root,tpointer q) { if (!root) root=q; else if (root-dataq-data ) root-lc=sorttree1(root-lc,q); else if (root-dataq-data ) root-rc=sorttree1( root-rc,q); return root; }; 二叉排序树结点的删除 删除树中值为给定值的结点。要求是删除该结点后能保持二叉排序树的性质。 可以分四种情况加以讨论: *待删的结点P无左、右孩子。 *待删的结点 P 无左孩子。 *待删结点 P 无右孩子。 *待删结点 P 有左右孩子。 二叉排序树结点的删除(无孩子) 二叉排序树结点的删除(只有一个孩子) 以p 是f 的左孩子且p 只有右孩子为例,其余情况类似 二叉排序树结点的删除(有两个孩子) 二叉排序树结点的删除(有两个孩子) 二叉排序树结点的删除算法要点 不论是那一种情况,算法总是先形成以q为根的二叉排序子树,然后根据f 与p的关系,决定q是f的什么孩子 删除二叉排序树中的指定结点算法 tpoiner locate (bitreptr root, elemtp x) { f=0; p=root; while (p p-data!=x ) if (p-datax) { f=p; p=p-lc;} else {f=p; p=p-rc;} return f; } 删除二叉排序树中的指定结点算法(续) bitreptr del (bitreptr root, elemtp x) { f=locate (root,x); if (!f) p=root; else if (f-lcf-lc-data==x) p=f-lc; else if (f-rcf-rc-data==x) p=f-rc;
您可能关注的文档
最近下载
- 九年义务教育控辍保学工作方案.doc VIP
- 2025年安徽中考语文试卷及答案出炉 .pdf VIP
- KA 25-2025 煤矿井下机电设备完好性要求.docx VIP
- 劳动合同中止期间的工资支付与社保缴纳义务.docx VIP
- T BALI 003—2023 节律照明灯具性能要求.pdf VIP
- 2012年江苏高考数学试卷真题及答案.doc VIP
- 高中地理野外实践活动与乡土文化传承的结合研究教学研究课题报告.docx
- 2025光伏电站光伏组件并网验收测试标准光伏组件安装质量检查标准.docx VIP
- 上汽通用五菱宝骏610_汽车使用手册用户操作图解驾驶车主车辆说明书pdf电子版下载.pdf VIP
- 运筹学题库及答案.doc VIP
原创力文档

文档评论(0)