1.一棵二叉树的顺序存储情况如下:树中,度为2的结点数为()。
A.1B.2C.3D.42.一棵“完全二叉树”结点数为25,高度为()。
A.4B.5C.6D.不确定3.下列说法中,()是正确的。
A.二叉树就是度为2的树B.二叉树中不存在度大于2的结点C.二叉树是有序树D.二叉树中每个结点的度均为24.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是()。
A.CABDEFGB.BCDAEFGC.DACEFBGD.ADBCFEG5.线索二叉树中的线索指的是()。
A.左孩子B.遍历C.指针D.标志6.建立线索二叉树的目的是()。
A.方便查找某结点的前驱或后继B.方便二叉树的插入与删除C.方便查找某结点的双亲D.使二叉树的遍历结果唯一7.有abc三个结点的右单枝二叉树的顺序存储结构应该用()示意。
A.abcB.ab^cC.ab^^cD.a^b^^^c8.一颗有2046个结点的完全二叉树的第10层上共有()个结点。
A.511B.512C.1023D.10249.一棵完全二叉树一定是一棵()。
A.平衡二叉树B.二叉排序树C.堆D.哈夫曼树10.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是()的二叉树。
A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子11.一棵二叉树的顺序存储情况如下:123456789101112131415ABCDE0F00GH000X结点D的左孩子结点为()。
A.EB.CC.FD.没有12.一棵“完全二叉树”结点数为25,高度为()。
A.4B.5C.6D.不确定二、填空题(每空3分,共18分)。
1.树的路径长度:是从树根到每个结点的路径长度之和。
对结点数相同的树来说,路径长度最短的是完全二叉树。
2.在有n个叶子结点的哈夫曼树中,总结点数是2n-1。
3.在有n个结点的二叉链表中,值为非空的链域的个数为n-1。
4.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是任一结点无左孩子的二叉树。
5.深度为k的二叉树最多有个结点,最少有k个结点。
三、综合题(共58分)。
1.假定字符集{a,b,c,d,e,f}中的字符在电码中出现的次数如下:字符abcdef频度9122023155构造一棵哈夫曼树(6分),给出每个字符的哈夫曼编码(4分),并计算哈夫曼树的加权路径长度WPL(2分)。
(符合WPL最小的均为哈夫曼树,答案不唯一)哈夫曼编码:2.假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字符构成,它们在电文中出现的频率分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}。
要求:(1)为这7个字符设计哈夫曼树(6分)。
(2)据此哈夫曼树设计哈夫曼编码(4分)。
(3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?(4分)(1)为这7个字符设计哈夫曼树为(符合WPL最小的均为哈夫曼树,答案不唯一):(2)哈夫曼编码为:a:01;b:001;c:100;d:0001;e:101;f:11;g:0000(3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?采用等长码,100个字符需要300位二进制数,采用哈夫曼编码发送这100个字符需要261二进制位,压缩了30
1
采用C语言对二叉树的前序、中序、后序、层序(使用队列)遍历方法进行了实现,含一个.c文件和一个.h文件,程序的结构比较清晰,对学习二叉树和队列的相关技术具有一定参考意义(有问题可留言交流)
2023/11/27 18:17:28 2KB 二叉树 遍历 C语言
1
选择输入前中后缀表达式,建立表达式二叉树,再前序中序后序遍历二叉树,输出三种形式的表达式
2023/10/29 3:34:57 6KB 表达式二叉树
1
一个用C#写的简单的二叉树,可以创建、前序遍历、中序遍历、后续遍历。
Windows窗体应用程序。
2023/10/13 15:38:49 41KB C# 二叉树的创建 二叉树的遍历
1
Algorithm_Note:bookmark_tabs:目录:white_medium_star:Leetcode刷题笔记已解决译文列表:ID译文语言题解链接1个两数之和C++7整体反转Java9回文数Java13罗马数字转数字Java14最高公共预算Java20有效的括号Java21合并两个有序链表Java26删除排序中的重复项Java27可拆卸元素Java35搜索插入位置Java38报数Java50战俘(x,n)Python38报数Java53最大子序和Java54顺时针打印矩阵Python58最后一个单词的长度Java66加一Java67二进制求和Java69x的平方根Java70爬楼梯Java79单词搜索Python83删除排序链表中的重复元素Java88合并两个有序时序Java100相同的树Java101对称二叉树Java102二叉树的层次遍历Python105根据前序和中序重建二叉
2023/7/31 23:55:37 142.27MB algorithm leetcode AlgorithmC++
1
C++实现了一个自定义的数据结构——自然树,该自定义结构不同于二叉树及其他数据结构,每个节点的子节点个数不受限制,最大限度保留了数据的原始结构,并实现了其前序和后序遍历的方法。
优点是节省了内存,但缺点则是基于链表结构查询的时间开销会相对较大。
详细内容请查看我的博客《实现自定义的数据结构——自然》,链接:https://blog.csdn.net/jack__linux/article/details/113576127
2023/6/10 21:10:26 567KB c++ 树结构
1
二叉树的三种,前序、中序、后序遍历实例,是一个swf格式的。
2023/6/6 1:20:18 20KB 数据结构
1
二叉树可实施代码,用了就知道。
二叉树的遍历、线索及使用(用递归或者非递归的方式均能够)[下场描摹]建树二叉树,并输入二叉树的先序,中序以及后序遍历序列,以及二叉树的叶子数。
[底子申请]申请依据读取的元素建树二叉树,能输入种种遍历。
[实现揭示]可经由输入带空格的前序序列建树二叉链表。
1
经过MFC实现二叉树的前序中序后序的可视化遍历
2023/1/12 10:27:45 46.92MB mfc 二叉树 遍历
1
用C言语实现数据结构中二叉树的前序中序后序遍历intmain()//主函数部分{ BiTreeT=NULL; intLayer=0; intLayerT=0; printf("请输入二叉树:\n"); CreatBiTree(&T);printf("你输入的二叉树为:(竖型树状表示)\n"); PrintBinary(T,Layer); printf("\n"); printf("先序遍历二叉树为:\n"); PreOrderTraverse(T); printf("\n"); printf("中序遍历二叉树为:\n"); InOrderTraverse(T); printf("\n"); printf("后序遍历二叉树为:\n"); PostOrderTraverse(T); printf("\n"); printf("二叉树转换为树显示出来为:(竖型树状表示)\n"); PrintTree(T,LayerT); system("pause"); return0;}
2015/3/15 20:58:01 2KB 二叉树 前序 中序 后序
1
共 13 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡