文件的逻辑结构 - wolai 笔记

1. 有结构文件

记录组成,分为定长记录、可变长记录
记录的组织形式可以分为顺序文件、索引文件和顺序索引文件

1.1 顺序文件

  • 串结构:记录顺序与关键字无关
  • 顺序结构:记录按关键字顺序排列

(1)链式存储

无论是定长/可变长记录,都无法实现随机存取,每次只能从第一个记录开始依次往后查找

(2)顺序存储

可变长记录:无法实现随机存取。每次只能从第一个记录开始依次往后查找;
定长记录
  • 可实现随机存取。记录长度为L,则第i个记录存放的相对位置是 i*L
  • 若采用串结构,无法快速找到某关键字对应的记录
  • 若采用顺序结构,可以快速找到某关键字对应的记录(如折半查找)
最大缺点:不方便 增加/删除 记录

1.2 索引文件

建立一张索引表,每个记录对应一个表项。各记录不用保持顺序,方便增加/删除记录。
索引表本身就是定长记录的顺序文件,一个索引表项就是一条定长记录,因此索引文件可支持随机存取。
若索引表按关键字顺序排列,则可支持快速检索
解决了顺序文件不方便 增/删 记录的问题,同时让不定长记录的文件实现了随机存取。但索引表可能占用很多空间。

1.3 索引顺序文件

将记录分组,每组对应一个索引表项
检索记录时先顺序查索引表,找到分组,再顺序查找分组
当记录过多时,可建立多级索引表

2. 无结构文件

文件内部的数据就是一系列二进制流或字符流组成,又称“流式文件”。如Windows系统中的.txt文件。



Comment