博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态存储管理-第8章-《数据结构题集》习题解析-严蔚敏吴伟民版
阅读量:5959 次
发布时间:2019-06-19

本文共 1722 字,大约阅读时间需要 5 分钟。

习题集解析部分

第8章 动态存储管理

——《数据结构题集》-严蔚敏.吴伟民版

       源码使用说明  链接☛☛☛ 

       课本源码合辑  链接☛☛☛ 

       习题集全解析  链接☛ 

 

      相关测试数据下载  链接☛

 

      本习题文档的存放目录:数据结构\▼配套习题解析\▼08 动态存储管理

      文档中源码的存放目录:数据结构\▼配套习题解析\▼08 动态存储管理\▼习题测试文档-08

      源码测试数据存放目录:数据结构\▼配套习题解析\▼08 动态存储管理\▼习题测试文档-08\Data

 

一、基础知识题

8.1❷假设利用边界标识法首次适配策略分配,已知在某个时刻的可利用空间表的状态如下图所示:

(1)画出当系统回收一个起始地址为559、大小为45的空闲块之后的链表状态;

(2)画出系统继而在接受存储块大小为100的请求之后,又回收一块起始地址为515、大小为44的空闲块之后的链表状态。

注意:存储块头部中大小域的值和申请分配的存储量均包括头和尾的存储空间。

8.2❷组织成循环链表的可利用空间表可附加什么条件时,首次适配策略就转变为最佳适配策略?

8.3❸设两个大小分别为100和200的空闲块依次顺序链接成可利用空间表。设分配一块时,该块的剩余部分在可利用空间表中保持原链接状态,试分别给出满足下列条件的申请序列:

(1)最佳适配策略能够满足全部申请而首次适配策略不能;

(2)首次适配策略能够满足全部申请而最佳适配策略不能。

8.4❶在变长块的动态存储管理方法中,边界标志法的算法效率为什么比以下图所示的结点结构组织的可利用空间表的算法效率高?

8.5❸考虑边界标志法的两种策略(最佳适配和首次适配):

(1)数据结构的主要区别是什么?

(2)分配算法的主要区别是什么?

(3)回收算法的主要区别是什么?

8.6❶二进制地址为011011110000,大小为(4)10的块的伙伴的二进制地址是什么?若块大小为(16)10时又如何?

8.7❸已知一个大小为512字的内存,假设先后有6个用户提出大小分别为23,45,52,100,11和19的分配请求,此后大小为45,52和11的占用块顺序被释放。假设以伙伴系统实现动态存储管理,

(1)画出可利用空间表的初始状态;

(2)画出6个用户进入之后的链表状态以及每个用户所得存储块的起始地址;

(3)画出在回收三个用户释放的存储块之后的链表状态。

8.8❸试求一个满足以下条件的空间申请序列a1,a2,…,an:从可用空间为25的伙伴管理系统的初始状态开始,a1,a2,…,an-1均能满足,而an不能满足,并使a1+a2+…+an最小。

8.9❹设有五个广义表:L=(L1, L3),L1=(L2, L3, L4),L2=(L3),L3=( ),L4=(L2)。若利用访问计数器实现存储管理,则需对每个表或子表添加一个表头结点,并在其中设一计数域。

(1)试画出表L的带计数器的存储结构;

(2)从表L中删除子表L1时,链表中哪些结点可以释放?各子表的计数域怎样改变?

(3)若L2=(L3, L4),将会出现什么现象?

8.10❷假设利用“堆”结构进行动态存储管理。执行存储紧缩过程之前,存储器的格局如下表所示。请用表格方式给出存储紧缩过程执行之后的存储器格局。

 

转载注明出处:

 

二、算法设计题

8.11❸考虑空间释放遵从“最后分配者最先释放(栈)”规则的动态存储管理问题,并设每个空间申请中都指定所申请的空闲块大小。

(1)设计一个适当的数据结构实现动态存储管理;

(2)写一个为大小为n的空间申请分配存储块的算法。

8.12❸同8.11题条件,写一个回收释放块的算法。

 

边界标志法

8.13❸试完成边界标志法和依首次适配策略进行分配相应的回收释放块的算法。

 

伙伴系统

8.14❺试完成伙伴管理系统的存储回收算法。

无用单元搜集

8.15❸设被管理空间的上下界地址分别由变量highbound和lowbound给出,形成一个由同样大小的块组成的“堆”。试写一个算法,将所有tag域的值为0的块按始址递增顺序链接成一个可利用空间表(设块大小域为cellsize)。

 

存储紧缩

8.16❹试完成教科书中8.6节所述的存储紧缩算法。

你可能感兴趣的文章
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>
web安全问题分析与防御总结
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>