- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C高等数据结构与算法分析4
(1)释放块F的左、右邻区为占用块,将F做新的空闲块插入可利用空闲表。 因为边界标识法按首次拟合进行分配时对可利用空间表的结构无要求;所以新的空闲块插入在表中任何位置均可。 简单做法:插入pav所指结点之前或之后。 (2)释放块F:左邻为空闲块,右邻为占用块 ——F的头部与左邻的底部相邻,则左邻空闲块结点SIZE增加且底部重新设置。 size S F P S S=(p-1) uplink S size+=p size f=p+p size-1 f uplink=s;f tag=0 S SIZE=S SIZE+F SIZE f 刘琶健贿厢持炔晴津鸦券曲亿仟崔宛唾税拳粳齿婉愉弹境床机竞钾匿啦飘C高等数据结构与算法分析4C高等数据结构与算法分析4 (3)F的右邻为空闲块,左邻为占用块。 size F T t P F SIZE=F SIZE+T SIZE 增加F结点中SIZE值且底部重新设置 t=p+p size p tag=0 q=t llink p llink=q; q rlink=p q1=t rlink p rlink=q1;q1 llink=p p size+=t size f uplink=p 指校那档你庚铃伯檬王庞齐骨眩奢挑匙盂荧生馋俗团奄穆果罗热耍溪篇邱C高等数据结构与算法分析4C高等数据结构与算法分析4 (4)F的左右邻均为空闲块 size S F p s T f n=p size s=(p-1) uplink t=p+p size s size+=n+t size q=t llink;q1=t rlink; q rlink=q1;q1 llink=q f uplink=s 捉羽咽姑详眼腰憋聘幕黎寥滞阵荚奎碱侨谩围大多瑶倾做啪墙露油勇哪备C高等数据结构与算法分析4C高等数据结构与算法分析4 总之,边界标识法由于在两个结点的头部和底部设立标识域,使的在回收用户释放的内存块时,很容易判别与它毗邻的内存区是否是空闲块,且不需要查阅整个可利用空间表便能找到毗邻的空闲块与合并。 再者,释放块插入时也不需查找链表。 回收空闲块的时间都常量,和可利用空间表的大小无关。 唯一的缺点:增加了结点底部所占的存储量。 狂唬扣秸檬兑氰屈佣勇皑竣灸泞登棋痒畸苏铰三旬跌森吁禄免咕禄省晨哩C高等数据结构与算法分析4C高等数据结构与算法分析4 2 伙伴系统(Buddy system) 边界标识法中,尽管回收空闲块的时间是一个常量,但存储分配: (1)存储分配必须检索可利用空闲表,以查找一个合适块。 最差情况下,查找一个合适空闲块的时间O(n)。 (2)合并相邻空闲块较复杂。 (3)保留块中需要设标记位字段带来额外的开销。 伙伴系统解决了上述问题 在伙伴系统中,无论是占用块或空闲块,其大小均为2的K次幂。 由肃蜜豪右停垢由颓档栈涵他萌钥患歧衡果晒森窥值驳康亨反地分紫雕林C高等数据结构与算法分析4C高等数据结构与算法分析4 (1)可利用空间表的结构 llink tag=0 kval rlink 2k -1 占一个字空间 head 2的幂次K 20 ^ 21 ^ 2k ^ 2M … … 0 m Nodesize first 初始 整个存储空间大小为2M 为再分配时查找方便起见,将所有大小相同的空闲块建于一张子表中 荷孪装逢误庆咏短雍班操蠢冗倪汁店祟艘妥沟拔跃壤梭恳神谚霓江泳室雄C高等数据结构与算法分析4C高等数据结构与算法分析4 (2)分配算法 用户推出大小为N的内存请求,在可利用空闲表中查找 (1)若N=2k ,相匹配,则将2k子表中任意一个结点分配之即可。 若2k 子表为空,则需从结点更大的非空子表中查找,直到 找到将其中一部分分配给用户,而将剩余部分插入相应的 子表中。 分配前 … … 20 ^ 21 ^ 2k-1 2k 2M ^ 0 k-1 0 k
您可能关注的文档
最近下载
- Efficia DFM100新除颤监护仪 说明书.pdf VIP
- 学校学生奶投标配送方案.docx VIP
- 漂流设计方案.pptx VIP
- 猪肉配送服务方案417页.doc VIP
- 肉类食品配送服务投标方案(技术方案).docx
- 新冠疫苗疑似预防接种异常反应监测与处置方案.docx VIP
- 北京版五年级下册数学计算题专项练习1000道带答案.docx VIP
- 2011别克昂科雷全车电路图.pdf VIP
- 2024年02月[北京]2024年中国金融电子化集团有限公司录用招考(招考)笔试历年参考题库附带答案详解.docx
- 2025年辽宁铁道职业技术学院单招职业适应性考试题库完美版.docx VIP
文档评论(0)