华南理工大学数据结构(C语言版)课件第八章 动态存储管理.pptVIP

  • 4
  • 0
  • 约1.02万字
  • 约 38页
  • 2019-05-10 发布于广东
  • 举报

华南理工大学数据结构(C语言版)课件第八章 动态存储管理.ppt

第八章 动态存储管理 £ 8.1 概 述 £8.2 可利用空间表及分配方法 £ 8.3 边 界 标 识 法 £ 8.3.1 可利用空间表的结构 £ 8.3.2 分 配 算 法 £ 8.3.3 回 收 算 法 £ 8.4 伙 伴 系 统 £ 8.4.1 可利用空间表的结构 £ 8.4.2 分 配 算 法 £ 8.4.3 回 收 算 法 (3)例子 例如,可利用空间表的初始状态如图8.7(a)所示,其中m个子表都为空表,只有大小为2m的链表中有一个结点,即整个存储空间。 (a) 表的初始状态 nodesize first 20 21 2k 2m 0 m (b) 分配前的表 (c) 分配后的表 图8.7 伙伴系统中的可利用空间表 20 2k-1 2m 0 K 2k 0 K 0 K 20 2k-1 2m 2k 0 K 0 K 0 K-1 (1)算法思想 当用户提出大小为n的内存请求时,首先在可利用表上寻找 结点大小与n相匹配的子表,若此子表非空,则将子表中任意一 个结点分配之即可;若此子表为空,则需从结点更大的非空子表 中去查找,直至找到一个空闲块,则将其中一部分分配给用户, 而将剩余部分插入相应的子表中。 (2)算法实现 算法8.2如下: WORD_b AllocBu

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档