(考研复习)子网划分小题解析

该博客讨论了在IP地址划分中如何使用哈夫曼编码来避免子网重叠,确保路由器能正确转发。通过建立哈夫曼树,解释了如何在分配101.200.16.0/20子网时,找到最节省主机地址的方案,即构建一个使得任何子网前缀都不是另一个子网前缀的哈夫曼树。博客还探讨了哈夫曼树的性质及其在解决此类问题中的灵活性,并提供了两种不同的哈夫曼树构造方法,展示它们如何避免子网重叠。
摘要由CSDN通过智能技术生成

        若将101.200.16.0/20划分为5个子网,则可能的最小子网的可分配I地址数是_A_

        A.254                B.126

        C.510               D.1022

        这道题,我起先是错的,因为我把它想成是平均分配的情况,然后我得知是错的后,我又去看了下王道的视频,说实话很实用,但没有让我明白为什么是那样子做的。

        于是乎我想啊想,联合之前学过的知识,并且老师在上课讲到过,划分子网需要让任何子网号都不是另一个子网号的前缀

        92fea9b0d60c4a10839920cb98e3b508.png

        这个图一定要看懂呀,看不懂下面就更不懂了,当然这个没有减去网络地址和广播地址(这不是重点), 从上图可以看出,子网2有一部分和子网1重叠了,那这样在路由器转发的时候,它就不能区分出是要去哪个子网了。

        那怎么样才能让子网号的前缀都能满足上述的条件,并且是最节省的利用了主机地址数呢,对的!就是哈夫曼编码也叫最优前缀编码:它就是能让任何的一个字符的编码都不是另一个字符的编码的前缀。

        知道这个之后,我们就要用另一个角度来看这个题了,可以把原题解析为:根结点权值为4096,有5个叶子结点,怎么构造哈夫曼树可使其中的叶子结点权值为最小。

        根权值:是指主机号为12位,2的12次方为4096

        五个叶子结点:因为哈夫曼树是正则二叉树,没有度为1的结点,只有度为0和度为2的结点,划分5个子网,那就是要有5个前缀编码,而我们知道前缀编码在叶子结点处产生。

        解析完题目之后我们还需要知道哈夫曼树的另一个性质

        权值越大的叶子结点离根节点越近,权值越小的结点离根结点越远。而且哈夫曼树并不唯一

        那么以我们聪明的大脑就可以很容易的想到,只要每个分支的最大权值结点都是叶子结点,那么分完之后最后一个肯定是最小权值的结点,换句话说就是当哈夫曼树高度最高时。

        fe71e76702a74951b3c68a52c9452544.png

         这就是题目所想构造的哈夫曼树,其中2048就是主机地址数,因为12位的主机号已经分了一个主机号出去了,此时就为2的11次方了,就是2048,其他的就是同理可得了。

        然后根据哈夫曼前缀编码的生成方法:就是从根结点到叶子结点所经过的分支上的1或0串起来(左子树为0,右子树为1)

        2048:0        1024:10        512:110        256:1110        256:1111

        上图为划分后的结果 !可以清楚的看出没有重叠部分

        这时候有老哥就会有疑惑了,为什么非得这么画,不是说高度最高就行了吗?

        是的,可以有不同的画法的,这是由于哈夫曼树的另一个性质

        哈夫曼树的任意非叶子结点的左右子树交换后仍是哈夫曼树,但是前提是wpl要相同。

7d35818ae2c84fa296ff80f6d5619175.png

        2048:1       1024:00        512:010        256:0110       256:0111

         上图为划分后的结果 !也可以清楚的看出没有重叠部分

        所以这么画也是可以的,就不会像王道教程那么死板,不过还是很实用,做题就没必要深究这么多了,用方法办他就完事了。

        那以后遇到这种题就可以直接秒出答案的好不啦,5个叶子结点5层,6个叶子结点6层,那么就是总主机地址 / 2^k-1 (k为层数或者划分子网数)。最后不要忘了减掉网络地址和广播地址!!!

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值