操作系统之文件管理:2、文件的逻辑结构(有结构文件、无结构文件、顺序文件、索引文件、索引顺序文件)

本文探讨了文件的逻辑结构与物理结构,包括无结构与有结构文件的分类,详细介绍了顺序文件、索引文件及索引顺序文件的特点与实现随机存取的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思维导图

在这里插入图片描述

逻辑结构VS物理结构

在这里插入图片描述

文件的逻辑结构和物理结构可直接类比于线性表的逻辑结构和物理结构

文件的逻辑结果分类

1、无结构文件

在这里插入图片描述

2、有结构文件

在这里插入图片描述

按照记录的长度来分:

在这里插入图片描述

按照逻辑结构来分:

在这里插入图片描述

1、顺序文件

在这里插入图片描述

1、顺序文件:逻辑上一个接一个排列,可以类比于线性表
2、顺序文件可以以顺序存储的方式存储,类比于顺序表;也可以用链式存储的方式存储,可以类比于链表
3、顺序文件有两种结构:串结构和顺序结构;主要的区别是关键字的顺序记录的顺序是否一致;
4、问题:已经知道了文件的起始地址(也就是第一个记录存放的位置),能否快速找到第 i 个记录对应的地址?(即能否实现随机存取

问题:能否实现随机存取?

在这里插入图片描述

上图中给出结果:
1、当记录变长时,由于每条记录长度不同,我们就没法用一种特定的规律来直接计算想要的记录的地址
2、当记录定长时,且采用串结构存储时,无法随机查找到某个关键字的位置,但是可以随机查找到某个记录的位置
3、当记录定长时,且采用顺序结构存储时,可以随机查找到某个关键字的位置,但是可以随机查找到某个记录的位置

2、索引文件

在这里插入图片描述

建立索引与记录一一对应关系,又因为索引表是定长的顺序文件,所以,在索引表上可以实现随机存取,因此可以快速找到第 i 个记录对应的索引项。

3、索引顺序文件

在这里插入图片描述

顺序索引文件区别与索引文件的地方在于:并不是每一个数据项都建立一个索引表项,这样也可以极大的提高效率。例如:
在这里插入图片描述
对于上图中的问题:当记录很多很多时查找的效率仍然不高,因此根据索引表的思想,可以继续建立二级索引表来提高查找效率
在这里插入图片描述

梳理:

上述有点结构太乱,梳理一下
在这里插入图片描述在这里插入图片描述

随机查找:是指否可以直接找到某记录,例如,可以直接用地址找到数组下标为i的值,而不需要从数组开始顺序访问
快速查找:指是否可以用高效的查找算法进行查找,例如冒泡、折半等。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值