习题选讲-Complete Binary Search Tree.pdf

上传人:奉*** 文档编号:4222403 上传时间:2021-06-13 格式:PDF 页数:8 大小:136.96KB
返回 下载 相关 举报
习题选讲-Complete Binary Search Tree.pdf_第1页
第1页 / 共8页
习题选讲-Complete Binary Search Tree.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《习题选讲-Complete Binary Search Tree.pdf》由会员分享,可在线阅读,更多相关《习题选讲-Complete Binary Search Tree.pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、树之 习题选讲树之 习题选讲 Complete Binary Search Tree 完 全二 叉 搜 索 树完 全二 叉 搜 索 树 题意理解题意理解 二叉搜索树二叉搜索树完全二叉树完全二叉树 R 小小 大大 输入:输入:1 2 3 4 5 6 7 8 9 0 输出:输出:6 3 8 1 5 7 9 0 2 4 0 12 3456 789 6 38 1579 024 树的表示法:链表树的表示法:链表 vs. 数组数组 需要的操作需要的操作 填写数字(某种遍历)填写数字(某种遍历) 层序遍历层序遍历 完全二叉树,不浪费空间完全二叉树,不浪费空间 层序遍历层序遍历 = 直接顺序输出直接顺序输出

2、数组完胜!数组完胜! 核心算法核心算法 二叉搜索树二叉搜索树完全二叉树完全二叉树 R 小小 大大 输入:输入:1 2 3 4 5 6 7 8 9 0 0 12 3456 789 6 38 1579 024 排序:排序:0 1 2 3 4 5 6 7 8 9 核心算法核心算法 void solve( int ALeft, int ARight, int TRoot ) /* 初始调用为初始调用为 solve(0, N-1, 0) */ n = ARight ALeft + 1; if (n=0) return; L = GetLeftLength(n); /* 计算出计算出n个结点的树其左子树有

3、多少个结点个结点的树其左子树有多少个结点 */ TTRoot = AALeft + L; LeftTRoot = TRoot * 2 + 1; RightTRoot = LeftTRoot + 1; solve(ALeft, ALeft+L-1, LeftTRoot); solve(ALeft+L+1, ARight, RightTRoot); 排序后的排序后的 输入序列输入序列A结果树结果树T 从从A段中选出正确的数字,填到段中选出正确的数字,填到 TTRoot中中 排序排序 #include int main() qsort(A, N, sizeof(int), compare); int compare(const void*a, const void*b) return *(int*)a-*(int*)b; 计算左子树的规模计算左子树的规模 h = 1; n1= 21-1 h = 2; n2= 22-1 h = 3; n3= 23-1 2H 1 X 2H 1 + X = N H = log2(N+1X) log2(N+1) L = 2H1 1 + X? 最小最小X = 0 最大最大X = ?2H1 X = min X, 2H1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com