北航数据结构与程序设计第五次作业选填题复习

news2024/11/19 20:21:02

选填题考的很多都是基础概念,对于巩固复习一些仡佬拐角的知识点是很有用的。非北航学生也可以来看看这些题,这一节主要是树方面的习题:


一、
在这里插入图片描述我们首先需要知道一个公式
在这里插入图片描述
这是证明:
在这里插入图片描述
知道了这个公式,我们把题目中的数据带入即可:
n0=n2+2n3+3n4+1
=1+2 * 10+3 * 20+1
=82


二、
在这里插入图片描述
两个知识点:
1、二叉树的分支个数等于节点个数-1,适用于任何二叉树,则m=n-1
2、满二叉树的深度与结点个数之间的关系:n=2^h-1 , h=log(n+1)。
因此选D很明显


三、
在这里插入图片描述这个题蛮有意思,正着想不太好想,那我们就把每个选项都试一试,看看哪个符合要求。
A.空和仅有一个节点,前序遍历和后序遍历长得一样,要说相反好像勉强也行。这个选项暂时保留,大概率肯定不是,我们往下看。

B.我们画个图实际演示一下
在这里插入图片描述前序遍历:A B C D E
后序遍历:E D C B A
诶好像可以诶!!但是别高兴太早了,我们发现D选项囊括了B选项,那我们就要思考一下,这种情况会不会不全面呢?

C.其实有了上一个题的疑问,我们实际可以直接先验证D选项:
在这里插入图片描述

这是一个分支节点的度都为1的树,我们来验证一下他的前后序遍历:
前序遍历:A B C D E
后序遍历:E D C B A
正好相反,因此,正确答案为D


四、
在这里插入图片描述这道题的正确答案应该是A
二叉查找树的查找效率由平均查找长度(ASL)来决定:

在这里插入图片描述在这里插入图片描述
查找第一层的元素,需要比较1次,查找第二层的元素,需要比较2次……查找第n层的元素,需要查找n次,那么上述树的平均查找长度就为:(1 * 1 + 2 * 2 + 3 * 4 + 4 * 2)/9=25/9

在来看时间复杂度:理想情况下,查找一个元素需要比较的最多次数为深度次,也就是从树冠比到树根,那么时间复杂度就是O(h),h=logn (我们这里只说数量级,不考虑具体是满二叉树还是完全二叉树还是普通二叉树),时间复杂度也可以表示为:O(logn)。也就是说,二叉查找树查找的时间复杂度是由深度决定的。

注意,当二叉查找树退化时,也就是说,差不多快变成一个链表的时候(左右子树深度之差过大),那么这个时候查找的时间复杂度就和在链表里查找的时间复杂度差不多了,就变成O(n)了。


六、
在这里插入图片描述
这道题的正确答案应该为D
但是我对此存疑,我再问问助教去……


七、
在这里插入图片描述
中缀转前缀的方法为:

  1. 从右到左扫描表达式

  2. 遇到操作数直接输出,输出顺序从右到左

  3. 遇到操作符:
    1.遇到 ‘ )’,入栈
    2.操作符栈空,入栈
    3.当前操作符优先级 >= 栈顶操作符,入栈(注意,中缀转后缀是要大于才入栈)
    4.当前操作符优先级 < 栈顶操作符,栈顶操作符出栈,然后与新的栈顶元素比较,直到栈空优先级大于等于栈顶操作符遇到‘ )’ 时,入栈。

  4. 遇到括号:
    1.遇到右括号,入栈
    2.遇到左括号,将栈内运算符依次弹出并从右到左输出,直到遇到左括号,左括号弹出,但左括号不输出

  5. 将栈内剩余操作符从右到左依次弹出并输出


八、
在这里插入图片描述
前缀编码,任何一个编码都不能成为其他编码的前缀,但是B中,10是101的前缀。


九、
在这里插入图片描述
先来了解一下哈夫曼树的构造原理:
1.树的带权路径长度WPL:
在这里插入图片描述
wi为第i个叶结点被赋予的权值,li为根节点到第i个叶结点的路径长度

2.哈夫曼树的定义:
给定一组权值,构造出的具有最小带权路径长度的二叉树即哈夫曼树
3.哈夫曼树特点:

  • 权值越大,离根越近,权值越小,离根越小

  • 无度为1的节点

  • 哈夫曼树不唯一

4.哈夫曼树的构造

  • 对于给定的权值W={w1,w2,…… ,wm},构造出树林F={T1,T2,…… ,Tm},其中Ti为左右子树为空,且根节点的权值为wi的二叉树
  • 将F中根节点权值最小的两棵二叉树合并成为一棵新的二叉树,将这两棵二叉树作为新二叉树的左右子树,并将新二叉树的根结点的权值定为这两棵二叉树权值的和。将新二叉树加入F,同时从F中删除之前的两棵二叉树
  • 重复上一步,直到F中只有一棵二叉树。

在这里插入图片描述
按照上述步骤,我们构造出了一棵哈夫曼树,那么带权路径长度就为:
2 * 3 + 3 * 3 + 5 * 2 + 6 * 2 + 9 * 2 = 55


二、
在这里插入图片描述
度为k,那么要求最多个结点,我们就让每个分支节点的度都为K,那么第一层就有k^0个结点,
第二层有k^1个,
第三层:k^2,
第四层:k^3,
以此类推,第i层最多就有k^(i-1)个节点


三、
在这里插入图片描述
满二叉树的深度和结点个数关系:n=2^h-1,则h=log(n+1),可得深度为:log(2048)=11,最后一层的节点个数,也就是叶结点个数为n=2 ^ (h-1)=2 ^ 10 = 1024。


四、
在这里插入图片描述先恢复一下二叉树:
在这里插入图片描述

那么后续序列就为:

HIDJEBFGCA


五、
在这里插入图片描述
每个结点都有left和right两个指针,因此共有2n个指针域
分支节点个数等于节点个数减一,那么就意味着n-1个指针指向孩子节点,剩下的2n-(n-1)=n+1个指针域就指向空


六、
在这里插入图片描述先恢复一下二叉树
在这里插入图片描述
那么后序遍历结果就是:DCBFGEA


七、
在这里插入图片描述处在同一层,说明深度一样,
2^ (h-1) - 1 < i < 2 ^ (h) - 1
2^ (h-1) - 1 < j < 2 ^ (h) - 1


八、
在这里插入图片描述
这个注意,做减法和除法的时候,先弹出的减(除)后弹出的,和后缀表达式计算不太一样。


九、
在这里插入图片描述在这里插入图片描述
建立好的二叉查找树如上图,62先和54比,再和73比,再和62比,发现找到,结束比较,工比较三次。


十、
在这里插入图片描述在这里插入图片描述
则带权路径长度为:4×3+5×3+8×2+6×2+7×2=12+15+16+12+14=69

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1811208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java面试八股之构造方法有哪些特性

构造方法有哪些特性 方法名与类名相同&#xff1a;构造方法的名称必须与它所在的类名称完全相同&#xff0c;包括大小写。 无返回类型&#xff1a;构造方法没有返回类型声明&#xff0c;连void也不需要。虽然没有明确的返回类型&#xff0c;但它隐式地返回了新创建的实例的引…

日本麻将基本规则和基本术语以及役种讲解

基本规则 无役无法和牌 “役”是特定牌的组合&#xff0c;不满足任何役是无法和牌的,关于役在后面会进行深入的讲解 和牌条件 满足和牌牌型有役荣和时不能振听 和牌牌型 ABC*xAAA*yDD,一般的和牌牌型,x组顺子和y组刻子加上一组对子(xy4)AA*7,特殊的和牌牌型,是一种役,名叫…

电线电缆单根燃烧试验 电缆垂直燃烧试验

电线电缆单根燃烧试验 电线电缆单根燃烧试验是一种用来评估电线电缆在受到火焰作用时的燃烧性能的测试方法。这种试验通常是将电线电缆垂直固定&#xff0c;然后使用特定的火焰源对其进行燃烧&#xff0c;以观察电线电缆的燃烧行为和燃烧速度。通过这个试验&#xff0c;可以评估…

阿一网络安全学院来向你科普关于企业安全服务

一、四大服务体系 1、可管理安全服务 在提供传统安全产品及安全服务的基础上&#xff0c;逐步开展安全运营&#xff0c;用开放的安全平台连接卓越的产品和服务&#xff0c;洞察安全态势&#xff0c;为企业级用户提供小时级的闭环安全保障。 2、安全咨询服务 为客户进行全方…

postman教程-19-mock测试

上一小节我们学习了Postman接口参数化方法&#xff0c;本小节我们讲解一下Postman mock测试的方法。 一、什么叫mock测试 mock测试就是在测试过程中&#xff0c;对某些不容易构造或者不容易获取的对象&#xff0c;用一个虚拟的对象来创建以便于测试的一种测试方法&#xff0c…

C# 处理 TCP 数据

前言 Tcp是一个面向连接的流数据传输协议&#xff0c;用人话说就是传输是一个已经建立好连接的管道&#xff0c;数据都在管道里像流水一样流淌到对端。 那么数据必然存在几个问题&#xff0c;比如数据如何持续的读取&#xff0c;数据包的边界等。 Nagles算法 Nagle 算法的核…

app开发--Android平台签名证书(.keystore .jks)生成和常见错误总结

app开发后&#xff0c;最后需要打包发布。在Android平台打包发布apk应用&#xff0c;需要使用数字证书&#xff08;.keystore文件&#xff09;进行签名&#xff0c;用于表明开发者身份。下面总结一下。 一&#xff1a;环境安装 安装JRE环境&#xff0c;如已安装可跳过。这里简…

携手华为,微想科技正式启动“720云”鸿蒙原生应用开发

5月31日&#xff0c;"创兴汇聚&#xff0c;干帆领航”——“走进华为”系列活动北京站&#xff0c;在华为北京研究所举行&#xff0c;华为战略研究院、华为开发者联盟承办。微想科技创始人兼CEO刘博受邀出席此次会议&#xff0c;并在鸿蒙原生系统启动仪式上与华为达成合作…

展厅型材设计的关键要点

1、材质选择 在展厅型材设计中&#xff0c;材质选择是至关重要的一步。不同的材质会给人带来不同的视觉感受和触感体验。常见的展厅型材材质包括木材、金属、玻璃、塑料等&#xff0c;设计师需要根据展览的主题和风格选择合适的材质进行搭建&#xff0c;以达到最佳的展示效果。…

FullCalendar日历组件集成实战(9)

背景 有一些应用系统或应用功能&#xff0c;如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件&#xff0c;但功能比较简单&#xff0c;用来做数据展现勉强可用。但如果需要进行复杂的数据展示&#xff0c;以及互动操作如通过点击添加事件&#xff0…

成都石室中学学子游汶鑫展现新时代好少年风采 拾金不昧获表彰

在繁华的都市中,每天都有无数的故事在上演,而其中的一些故事,却以其独特的温暖和正能量,深深打动着我们的心灵。近日,成都石室中学初中学校的一名学生游汶鑫同学,就用他的实际行动,诠释了新时代好少年的风采,展现了中华民族传统美德在当代青少年身上的生动体现。 成都石室中学初…

Sui公布第四批学术研究奖结果,新增100万美金资金支持

Sui基金会很高兴宣布第四批Sui学术研究奖的获奖者&#xff0c;该计划资助推动Web3发展的前沿研究&#xff0c;特别关注区块链技术、智能合约编程和基于Sui的平台产品。 在这一批中&#xff0c;我们接受了来自加州大学伯克利分校、耶鲁大学、纽约大学、洛桑联邦理工学院和新加坡…

【Arduino】ADC模拟量输入

目录 1、模拟信号 2、ADC输入 analogRead()函数 analogReadMillivolts analogReadResolution 3、示例 1、模拟信号 生活中&#xff0c;接触到的大多数信号都是模拟信号&#xff0c;如声音、温度的变化等。如图1所示&#xff0c;模拟信号是用连续变化的物理量表示的信息&…

【QT】记录一次QT程序发布exe过程

记录一次QT程序发布exe过程 使用windeploy与enigma发布独立的QT程序第一步 QT编译输出 **release** 版本第二步 QT 自带 windepoyqt 补全链接库第三步 enigma virtual box压缩打包为单一exe最后【2024-06-07 17】- 【补充】 贴一个自己用的bat脚本【**QtDeploy2exe.bat**】半自…

操作系统复习-Linux的文件系统

文件系统概述 FAT FAT(File Allocation Table)FAT16、FAT32等&#xff0c;微软Dos/Windows使用的文件系统使用一张表保存盘块的信息 NTFS NTFS (New Technology File System)WindowsNT环境的文件系统NTFS对FAT进行了改进&#xff0c;取代了日的文件系统 EXT EXT(Extended…

SAP 服务提供者 (Services Provider)接口测试笔记

文章目录 SAP 服务提供者 &#xff08;Services Provider&#xff09;接口测试笔记设置Content-Type授权SAP接口测试-SoapUI参数配置 SAP 服务提供者 &#xff08;Services Provider&#xff09;接口测试笔记 现在我在SAP里面公布了一些查询接口&#xff0c;现在就是要用SoapU…

Unity3D测量面积和角度实现方法(二)

系列文章目录 unity工具 文章目录 系列文章目录&#x1f449;前言&#x1f449;一、unity测量面积&#x1f449;1-1 视频效果&#x1f449;1-2 先创建预制体&#x1f449;1-3 在创建LineRenderer预制体&#x1f449;1-4 代码如下 &#x1f449;二、测量平面和测量空间切换&…

AIGC绘画设计基础:AI-MidJourney关键词大全+万能架构+保姆级教程(建议收藏!)

随着 ChatGPT 的热度席卷全网&#xff0c;越来越多人开始关注 AIGC&#xff08;AI Generated Content&#xff09;的相关应用。 其中Midjourney 作为一款强大的 AI 图像生成工具&#xff0c;与其他AI图像生成相比&#xff0c;Midjourney学习成本更低&#xff0c;生成速度更快&a…

Unity年中大促618活动又来了3折模板特效角色动画插件工具FPS生存建造模板RPG和2D素材优惠码UNITY6182024限时20240611

独立游戏开发需要找各种美术资源和模板&#xff0c;可以在低价时看看&#xff0c;节省开发时间。 Unity年中大促618活动又来了3折模板特效角色动画插件工具FPS生存建造模板RPG和2D素材优惠码UNITY6182024限时202406111104 300 款Unity引擎适配资源 3 折特惠&#xff0c;结账时输…

拥抱开源,构建未来:王嘉树与 TDengine 的开源之旅

在当代的技术浪潮中&#xff0c;开源文化不仅催生了无数创新技术&#xff0c;也为广大技术爱好者提供了一个展示才华、相互学习的平台。我们今天采访到的这位北京邮电大学电子工程学院的研究生&#xff0c;就是在这样的背景下&#xff0c;通过开源活动不断探索、学习并实现自我…