牛客网校招题题目收集----数据结构与算法篇

本文整理了牛客网上关于数据结构与算法的选择题,包括哈夫曼编码、二叉树遍历、完全二叉树节点计算、置换算法等题目,并提供了详细的解题分析和答案。
摘要由CSDN通过智能技术生成

选择题

a,b,c,d,e 对应出现的频率为4,6,11,13,15;以下符合哈夫曼编码的选项是?()

A. a=000、b=01、c=001、d=10、e=11
B. a=000、b=001、c=01、d=10、e=11
C. a=010、b=001、c=01、d=11、e=10
D. a=000、b=10、c=001、d=11、e=01

链接:原题地址
来源:牛客网

答案:B

解题分析

解题分析转自 牛客网 ID名为 掌心里的小雨,若有侵权,请通告。

哈夫曼编码

  • 哈夫曼编码的目的就是数据压缩,加密解密,将出现频率低的放在二叉树的靠最下面的层,从而使频率高的能被更快的找到,实现数据压缩的功能
  • 主要的编码过程是:
  • 1.由于题目中这个频率是排好序的,可以看做有序序列。先取两个最小(a,b)作为一个新结点n1的两个子结点,相对较小的是左孩子,新结点的频率就是a,b两个频率的相加,即4+6=10;然后将新结点n1替换a,b插入有序序列,整个就是{n1,c,d,e};
  • 然后再取最小的两个结点(n1,c),产生的新结点n2的频率为10+11=21,继续替换n1,c插入有序序列,整个就是{d,e,n2};
  • 然后再取最小的两个结点(d,e),产生的新结点n3的频率为13+15=28,继续替换d,e插入有序序列,序列就剩2个结点,小的作为左结点,大的是右节点,共同指向根结点T,最后哈夫曼树就可画出来了。在这里插入图片描述
  • 最后将左分支改为0,右分支改为1,哈夫曼编码就是从树根到叶子所经过的0和1组成的,从这里可以看出,a的频率最低,出现在最低层的叶子结点,达到数据压缩的目的
    *在这里插入图片描述

对一棵先序遍历节点编号为12435678,中序遍历为42165738的二叉树,进行左子节点优先的广度优先遍历,搜索到编号为6的节点需要几次查询()

A. 5
B. 6
C. 7
D. 8

答案:C

解题分析

  • 先序遍历:根 —> 左 —> 右

  • 中序遍历&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>