作业帮 > 综合 > 作业

数据结构中的“顺序存储结构”为什么会有碎片产生?碎片是如何产生的?为什么链式存储结构没有碎片?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 15:07:22
数据结构中的“顺序存储结构”为什么会有碎片产生?碎片是如何产生的?为什么链式存储结构没有碎片?
顺序存储如“数组”、“文件”等,一旦你要删除元素,就会产生碎片,
产生的原因,是删除留下空洞,要往前搬家才能消除碎片,而元素移动
会消耗时间.
链式存储是指针相联,删除元素只要改变指针指向,不会留下碎片.
再问: 既然顺序存储的“搬家功能”消除了碎片,那顺序存储应该是没有碎片产生才对呀?比如数组删除一个元素后,后边的元素往前移动,不就把空洞不上了?
再答: 而元素移动会消耗大量额外时间。 如果从最前面删一个元素,就要把整个元素前移一次。 这只是一个理论分析。
再问: 不好意思嘿嘿!我还是不太懂,数组从最前面删除一个元素在”实际中“其它元素也是会往前移动的呀?
再答: 你要邦它移呀,用子程序了。它不会自动移的。