当前位置: 首页 > article >正文

数据结构第6章树和二叉树:课后习题全解析(选择题+填空题+综合题+算法设计题)

第6章 树和二叉树 课后习题一、单项选择题1.一棵有n个结点采用链式存储的二叉树中共有A个指针域为空。A.n1B.nC.n−1D.n−2解析链式存储二叉树中每个结点有2个指针域左孩子、右孩子总指针域数为2n。除根结点外每个结点有且仅有一个父结点指向它即用掉一个非空指针共用掉 n−1个非空指针。因此空指针域数为 2n−(n−1)n1。2.设一棵哈夫曼树共有n个非叶子结点则该树有B个叶子结点。A.nB.n1C.n−1D.2n解析哈夫曼树是严格的二叉树没有度为 1 的结点,非叶子结点即是双分支节点叶子结点比双分支节点多一个。3.一棵完全二叉树共有5层且第5层有6个结点该树共有C个结点。A. 30B. 20C. 21D. 23解析完全二叉树前 4 层为满二叉树结点数 15。加上第 5 层的 6 个结点总结点数 15621。4.在一棵二叉树中若编号为i的结点是其双亲结点的右孩子则双亲结点的顺序编号为D。A.i/2B.i/21C.2i1D.⌊i/2⌋解析在顺序存储数组下标从 1 开始的完全二叉树中结点 i的双亲编号为 ⌊i/2⌋(向下取整)无论它是左孩子还是右孩子。5.一棵采用链式存储的二叉树中有n个指针域为空该二叉树共有C个结点。A.n1B.nC.n−1D.n−2解析由第 1 题结论空指针域数 结点数 1。结点数空指针域数-1。6.一棵结点数31n40的完全二叉树最后一层有4个结点则该树有B个叶子结点。A. 17B. 18C. 36D. 357.设一棵哈夫曼树共有2n1个结点则该树有A个非叶子结点。A.nB.n1C.n−1D.2n解析哈夫曼树中叶子结点数 非叶子结点数 1。设非叶子结点数为 x则总结点数 x(x1)2x1。已知总结点数为 2n1所以 2x12n1即 xn。8.在一棵具有35个结点的完全二叉树中该树的深度为B。A. 7B. 6C. 5D. 89.在一棵二叉树中若编号为i的结点存在左孩子则左孩子结点的顺序编号为A。A. 2iB. 2i - 1C. 2i 1D. 2i 210.在一棵具有n个结点的二叉树的第i层上最多具有C个结点。A.2iB.2i1C.2^(i−1)D.2n解析二叉树第 i 层根为第 1 层最多有2^(i−1)个结点满二叉树的情况。二、填空题1.设有一棵深度为4的完全二叉树第4层有5个结点该树共有12个结点根所在结点为第1层。2.在二叉树的链式存储结构中通常每个结点中设置3个域它们是值域、左指针域、右指针域。3.中序遍历二叉排序树可得到一个有序序列。4.设有一棵有78个结点的完全二叉树该树共有7层根所在结点为第1层。5.一棵3度的树其有3度结点1个2度结点2个1度结点2个则该树共有5个叶子结点。6.二叉排序树或者是一棵空树或者是一棵具有下列性质的二叉树若它的左子树非空则左子树的所有结点的值都小于它的根结点的值若它的右子树非空则右子树的所有结点的值都大于若允许结点有相同的值则大于或等于它的根结点的值。这种说法是正确的。回答正确或错误7.一棵有7个叶子结点的二叉树其1度结点数的个数为2则该树共有15个结点。8.一棵有20个结点的4度的树其有3度结点1个2度结点1个1度结点2个则该树共有14个叶子结点。三、综合题1.回答下列问题(1)以2, 3, 4, 7, 8, 9作为叶子结点的权构造一棵哈夫曼树给出相应权值叶子结点的哈夫曼编码。(2)一棵哈夫曼树有n个叶子结点它一共有多少个结点简述理由。答1哈夫曼树如下叶子结点的哈夫曼编码如下20100301014011710811900(2)共有2n−1个结点。理由哈夫曼树是严格二叉树无一度结点有n0n个叶子则n2n−1 个二度结点总结点 n0n22n−1。2.回答下列问题(1)对给定权值2, 1, 3, 3, 4, 5构造哈夫曼树。(2)同样用上述权值构造另一棵哈夫曼树使两棵哈夫曼树有不同的高度并分别求两棵树的带权路径长度。答案带权路径长度1*32*33*33*34*25*2369981045带权路径长度1*42*43*33*24*25*24896810453.对于如图6-16所示的二叉树(1)给出中序遍历序列。(2)给出先序遍历序列。(3)给出后序遍历序列。图6-16答(1)中序遍历序列dgbaechif(2)先序遍历序列abdgcefhi(3)后序遍历序列gdbeihfca四、算法设计题1.根据下面的函数声明编写求一棵二叉树中结点总数的算法该总数值由函数返回。假定参数BT初始指向二叉树的根结点。int BTreeNode(struct BTreeNode *BT);答int BTreeNode(struct BTreeNode *BT) { if (BT NULL) { return 0; } else { return 1 BTreeNode(BT-left) BTreeNode(BT-right); } }2.根据下面的函数声明编写求一棵二叉树中叶子结点总数的算法该总数值由函数返回。假定参数BT初始指向二叉树的根结点。int BTreeLeafCount(struct BTreeNode *BT);答int BTreeLeafCount(struct BTreeNode *BT) { if (BT NULL) { return 0; } if (BT-left NULL BT-right NULL) { return 1; } return BTreeLeafCount(BT-left) BTreeLeafCount(BT-right); ​​​​​​​}3.根据下面的函数声明编写从一棵二叉树BT中求出结点值大于x的结点个数的算法并返回所求结果。int BTreeCountBig(struct BTreeNode *BT, int x);答int BTreeCountBig(struct BTreeNode *BT, int x) { if (BT NULL) { return 0; } int count (BT-data x) ? 1 : 0; count BTreeCountBig(BT-left, x); count BTreeCountBig(BT-right, x); return count; ​​​​​​​}

相关文章:

数据结构第6章树和二叉树:课后习题全解析(选择题+填空题+综合题+算法设计题)

第6章 树和二叉树 课后习题一、单项选择题1. 一棵有 n 个结点,采用链式存储的二叉树中,共有( A )个指针域为空。A. n1 B. n C. n−1 D. n−2解析: 链式存储二叉树中,每个结点有 2 个指针域(左孩…...

5分钟掌握百度网盘高速下载神器:完全免费的开源解析工具终极指南

5分钟掌握百度网盘高速下载神器:完全免费的开源解析工具终极指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘非会员下载速度只有几十KB而烦恼吗…...

终极MifareOneTool使用指南:如何零基础玩转MIFARE经典卡的Windows图形化神器

终极MifareOneTool使用指南:如何零基础玩转MIFARE经典卡的Windows图形化神器 【免费下载链接】MifareOneTool A GUI Mifare Classic tool on Windows(停工/最新版v1.7.0) 项目地址: https://gitcode.com/gh_mirrors/mi/MifareOneTool …...

【Flutter for OpenHarmony 跨平台征文】Flutter 血压数据模型设计 + WHO标准分类算法实战指南

【Flutter for OpenHarmony 跨平台征文】Flutter 血压数据模型设计 WHO标准分类算法实战指南 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net🎯 写在前面 嗨,大家好!我是上海某高校大一计算机专业的学生…...

告别裸机延时!ESP32-C3/ESP32-S3用RMT外设精准驱动WS2812B灯带(Arduino/IDF双平台教程)

ESP32-C3/ESP32-S3 RMT外设驱动WS2812B灯带实战指南 当你的灯光项目从十几颗WS2812B升级到上百颗时,GPIO模拟驱动方式很快就会遇到瓶颈——闪烁、卡顿、颜色失真,这些问题的根源在于时序精度不足。ESP32系列芯片内置的RMT(Remote Control&…...

通达信缠论插件ChanlunX:5分钟实现专业缠论分析的终极指南

通达信缠论插件ChanlunX:5分钟实现专业缠论分析的终极指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 想要在通达信中实现专业的缠论分析吗?ChanlunX缠论插件是你的最佳选择&a…...

Claude代码系统提示词:提升AI编程效率的工程化实践

1. 项目概述与核心价值最近在AI编程辅助领域,一个名为“Piebald-AI/claude-code-system-prompts”的项目在开发者社区里引起了不小的讨论。简单来说,这是一个专门为Claude(特别是Claude 3系列模型)设计的、用于提升代码生成与编程…...

反向海淘代购集运系统三种搭建路径对比:自研、开源二开、SaaS

「技术、数据、接口、系统问题欢迎留言私信沟通」引言:标准业务架构# 系统演示、API测试控制台:http://console.open.onebound.cn/console/?iRookie用户层(Web / App / 小程序)↓ 网关层(Nginx / Gateway)…...

WinDirStat:Windows磁盘空间分析与清理的终极解决方案

WinDirStat:Windows磁盘空间分析与清理的终极解决方案 【免费下载链接】windirstat WinDirStat is a disk usage statistics viewer and cleanup tool for Microsoft Windows 项目地址: https://gitcode.com/gh_mirrors/wi/windirstat WinDirStat是一款专为W…...

基于Puppeteer与GPT的微信AI助手:从自动化到智能回复的完整实现

1. 项目概述:一个能帮你自动回复微信消息的AI助手 如果你也和我一样,每天被淹没在微信的群聊、私聊和各种公众号消息里,但又不想错过重要信息,或者希望有一个“智能分身”能帮你处理一些重复性的咨询,那么这个项目你一…...

别再手动绕田了!用Python+Google Earth Pro搞定农田边界KML文件(附完整代码)

零成本农田边界数字化:Python与Google Earth Pro实战指南 在农业自动化领域,获取精确的农田边界数据是路径规划的第一步。传统方法依赖RTK设备或无人机测绘,成本高昂且操作复杂。本文将介绍一种无需专业硬件的解决方案,仅需一台普…...

巧用邮件合并批量生成带条形码的证件标签

1. 为什么需要批量生成带条形码的证件标签? 在日常办公中,我们经常会遇到需要批量制作证件标签的情况。比如学校图书馆要给新生办理借书证,公司要给新员工制作工牌,或者社区要给居民发放会员卡。传统的手工制作方式不仅效率低下&…...

FreeRTOS任务通知:轻量级任务通信机制的原理与应用实践

1. 项目概述:从“消息队列”到“任务通知”的思维跃迁在嵌入式实时操作系统(RTOS)的开发中,任务间的通信与同步是核心议题。我们习惯了使用队列(Queue)、信号量(Semaphore)、事件组&…...

终极指南:使用Tinke轻松探索和修改NDS游戏资源

终极指南:使用Tinke轻松探索和修改NDS游戏资源 【免费下载链接】tinke Viewer and editor for files of NDS games 项目地址: https://gitcode.com/gh_mirrors/ti/tinke 你是否曾经好奇任天堂DS游戏内部是如何组织的?想要提取游戏中的精美图片、动…...

从零构建MCP服务:AI应用外部工具集成入门指南

1. 项目概述:从零构建你的第一个MCP服务 最近在AI应用开发圈里,MCP(Model Context Protocol)这个词的热度越来越高。如果你正在尝试将大型语言模型(LLM)的能力集成到自己的应用里,或者想为你的A…...

CircuitJS1 Desktop Mod:跨平台离线电路仿真软件的终极指南

CircuitJS1 Desktop Mod:跨平台离线电路仿真软件的终极指南 【免费下载链接】circuitjs1 Standalone (offline) version of the Circuit Simulator with small modifications based on modified NW.js. 项目地址: https://gitcode.com/gh_mirrors/circ/circuitjs1…...

Python实战:从时序数据到ARIMA预测的完整建模指南

1. 时间序列分析与ARIMA模型入门 时间序列分析就像是一位经验丰富的老中医把脉——通过观察数据随时间变化的"脉搏",我们能诊断出背后的规律并预测未来走势。ARIMA模型正是其中最经典的"听诊器"之一,我在处理销售预测、库存管理等项…...

3步重构你的设计到动画工作流:从Figma到After Effects的无缝转换

3步重构你的设计到动画工作流:从Figma到After Effects的无缝转换 【免费下载链接】AEUX Editable After Effects layers from Sketch artboards 项目地址: https://gitcode.com/gh_mirrors/ae/AEUX 你是否曾为设计到动画的转换过程感到头疼?在Fig…...

Taotoken用量看板如何帮助开发者洞察API消费明细

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken用量看板如何帮助开发者洞察API消费明细 对于依赖大模型API进行开发的团队或个人而言,清晰、透明地掌握资源消…...

3步学会使用Tinke:免费NDS游戏资源提取与修改终极指南

3步学会使用Tinke:免费NDS游戏资源提取与修改终极指南 【免费下载链接】tinke Viewer and editor for files of NDS games 项目地址: https://gitcode.com/gh_mirrors/ti/tinke 你是否曾经想过提取NDS游戏中的精美图片、动听音乐,或者修改游戏文本…...

Ubuntu 20.04上virt-manager报GDBus错误?别慌,三步排查法搞定它

Ubuntu 20.04 virt-manager报GDBus错误的深度排查指南 当你正准备用virt-manager管理KVM虚拟机时,突然弹出一个令人困惑的GDBus错误——这种场景对于Linux虚拟化用户来说并不陌生。这个看似简单的错误背后,其实涉及Linux桌面环境中多个关键组件的协同工作…...

别再乱接线了!ESP32-DevKitC V4开发板引脚功能详解与避坑指南(附引脚图)

ESP32-DevKitC V4开发板引脚安全操作手册:从入门到精通的接线法则 当你第一次拿到ESP32-DevKitC V4开发板时,那些密密麻麻的引脚可能会让你感到无从下手。作为一名曾经因为误接引脚而烧毁过三块开发板的"过来人",我深知正确的引脚使…...

Midjourney铂金印相风格实战手册(从Prompt工程到Lightroom精修全流程)

更多请点击: https://intelliparadigm.com 第一章:铂金印相风格的美学溯源与数字复现逻辑 铂金印相(Platinum Print)诞生于19世纪晚期,以铂族金属盐在纸基上直接成像,呈现无光泽、宽广影调与近乎永久的化学…...

该不该现在买房?AI浪潮下,你的房贷是资产还是负债?

该不该现在买房?AI浪潮下,你的房贷是资产还是负债? 开篇:一个普通家庭的决策困境 深夜,东莞某小区的灯光次第熄灭。你刚刚哄睡一岁半的孩子,打开手机看到甲骨文最新一轮裁员的新闻,又瞥了一眼房…...

城通网盘直连解析终极指南:告别龟速下载的完整解决方案

城通网盘直连解析终极指南:告别龟速下载的完整解决方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘缓慢的下载速度而烦恼吗?ctfileGet是你的完美解决方案&…...

Midscene.js跨平台AI自动化测试:从视觉驱动到企业级部署的完整指南

Midscene.js跨平台AI自动化测试:从视觉驱动到企业级部署的完整指南 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene Midscene.js作为一款基于视觉语言…...

如何用LinkSwift解锁九大网盘下载新姿势?完整攻略揭秘

如何用LinkSwift解锁九大网盘下载新姿势?完整攻略揭秘 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

Windows和Office智能激活终极指南:KMS_VL_ALL_AIO完整使用教程

Windows和Office智能激活终极指南:KMS_VL_ALL_AIO完整使用教程 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出激活提示而烦恼吗?Office文档突…...

HSTracker:macOS上免费的炉石传说套牌追踪器终极指南

HSTracker:macOS上免费的炉石传说套牌追踪器终极指南 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker 你是否想在macOS上免费提升炉石传说胜率?HS…...

为内部工具集成AI能力时选择Taotoken作为统一接口层

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部工具集成AI能力时选择Taotoken作为统一接口层 当企业开发团队着手为多个内部系统,例如客户关系管理(…...