8-3-无用单元收集-动态存储管理-第8章-《数据结构》课本源码-严蔚敏吴伟民版

Posted StrayedKing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8-3-无用单元收集-动态存储管理-第8章-《数据结构》课本源码-严蔚敏吴伟民版相关的知识,希望对你有一定的参考价值。

课本源码部分

第8章  动态存储管理 - 无用单元收集

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

       源码使用说明  链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

       课本源码合辑  链接☛☛☛ 《数据结构》课本源码合辑

       习题集全解析  链接☛☛☛ 《数据结构题集》习题解析合辑

 

       本源码引入的文件  链接☛ Status.hGeneralizedList-H-T.c

 

      文档中源码及测试数据存放目录:数据结构\\▲课本算法实现\\▲08 动态存储管理\\03 GarbageCollection

 

概述

       “无用单元”是指那些用户不再使用而系统没有回收的结构和变量。无用单元的累积会造成系统卡顿,程序运行内存不足等问题,所以必须加以监控回收。

解析

       以一个广义表表示的内存结构为例,回收内存有两条途径:

       (1)使用访问计数器。在所有子表或广义表上增加一个表头结点,并设立一个“计数域”,它的值为指向该子表或广义表的指针数目。只有当该计数域的值为零时,此子表或广义表中结点才被释放。

       (2)收集无用单元。在程序运行中,对所有的链表结点,不管它是否有用,都不回收,直到整个可利用空间表为空。此时才暂时中断执行程序,将所有当前不被使用的结点链接在一起,成为一个新的可利用空间表,而后程序继续执行。 

源码

       文件一 ☛  GarbageCollection.h 

 

       文件二 ☛  GarbageCollection.c 

 

       文件三 ☛  GarbageCollection-main.c (测试文档)

 

测试结果展示

 

       更多章节持续更新中...微笑

以上是关于8-3-无用单元收集-动态存储管理-第8章-《数据结构》课本源码-严蔚敏吴伟民版的主要内容,如果未能解决你的问题,请参考以下文章

8-1-边界标识法-动态存储管理-第8章-《数据结构》课本源码-严蔚敏吴伟民版

8-2-伙伴系统-动态存储管理-第8章-《数据结构》课本源码-严蔚敏吴伟民版

第08章 ElasticSearch Java API

第8章 高性能服务器框架

第8章 数据库后台编程技术

无用单元和悬挂引用