Q13-1 通常文件有哪两种存取方式?
A:顺序存取与随机存取
Q13-2 新主文件和旧主文件之间是什么关系?
A:新的永久数据文件通常称为新主文件,新的主文件里包含大部分当前数据;旧主文件是需 要更新的永久文件。
Q13-3 在顺序文件更新时,事务文件的作用是什么?
A:事务文件包含将要对旧主文件所作的改变。
Q13-4 描述随机文件存取的地址函数。
A:散列文件:通过一个数学函数将键映射成地址,其中散列方法包括直接散列法、求模法 (除余散列法)、数字析取散列法等。
索引文件:包含顺序文件的键和在磁盘上相应记录的地址,索引将键映射到地址
Q13-5 在索引文件中,索引是如何关联数据文件的?
A:索引是一个表,它将数据项的键与存储数据的文件中的地址联系起来。
Q13-6 在文件直接散列法中键和地址之间是什么关系?
A:直接散列法中,键是未经算法处理的数据文件地址
Q13-7 在文件除余散列法中键和地址之间是什么关系?
A:在文件除余散列法中,用文件大小去除键后,将余数加1作为地址
Q13-8 在文件数字析取散列法中键和地址之间是什么关系?
A:在文件数字析取散列法中,选择从键中析取的数字作为地址。
Q13-9 给出三种解决冲突的方法。
A:开放寻址、链表解决法、桶散列法
Q13-10 文本文件和二进制文件之间的区别是什么?
A:文本文件是一个字符文件,在它们的内存储器格式中不能包含整数、浮点数或其他数据结 构,要存储这些类型的数据,必须把他们转换成对应的字符格式。
二进制文件是计算机的内部格式存储的数据集合,在这种定义中,数据可以是整型(包 括其他表示成无符号整数的数据类型,例如图像、音频或视频)、浮点型或其他数据结 构(除了文件)。
不像文本文件,二进制文件中的数据只有当被程序正确地解释时才有意义。如果数据是 文本格式的,就用一个字节来表示一个字符,如果数据是数字格式的,则用两个或是更 多字节来表示一个数据项。
P13-1
New Master File | ||
Key | Name | Pay rate |
14 | John Wu | 17.00 |
16 | George Brown | 18.00 |
17 | Duc Lee | 11.00 |
26 | Ted White | 23.00 |
31 | Joanne King | 28.00 |
89 | Mark Black | 19.00 |
90 | Orva Gilbert | 20.00 |
92 | Betsy Yellow | 14.00 |
Error File | |||
Action | Key | Name | Pay rate |
A | 17 | Martha Kent | 17.00 |
P13-2
Indexed file | Date file | ||||
Key | Address | Key | Name | Department | |
123453 | 000 | 123453 | John A dam | CIS | |
114237 | 001 | 114237 | Ted White | MTH | |
156734 | 002 | 156734 | Jimmy Lions | ENG | |
093245 | 003 | 093245 | Sophie Grands | BUS | |
077654 | 004 | 077654 | Eve Primary | CIS | |
256743 | 005 | 256743 | Eva Lindens | ENG | |
423458 | 006 | 423458 | Bob Bauer | ECO |
P13-3
a. (14232 mod 41) + 1 = 5 + 1 = 6
b. (12560 mod 41) + 1 = 14 + 1 = 15
c. (13450 mod 41) + 1 = 2 + 1 = 3
d. (15341 mod 41) + 1 = 7 + 1 = 8
P13-4
a. 142 ^ 2 = 20164 地址:16
b. 125 ^ 2 = 15625 地址:62
c. 134 ^ 2 = 17956 地址:95
d. 153 ^ 2 = 23409 地址:40
P13-5
a. 14 + 22 = 36
b. 12 + 57 = 69
c. 13 + 49 = 62
d. 15 + 32 = 47
P13-6
a.(14,22,34) 地址:41+22+43 = 106
b.(12,57,11) 地址:21+57+11 = 89
c.(13,49,14) 地址:31+49+41 = 121
d.(15,32,13) 地址:51+32+31 = 114
P13-7
a. (10278 mod 411) + 1 = 3 + 1 =4
b. (08222 mod 411) + 1 = 2 + 1 = 3
c. (20553 mod 411) + 1 = 3 + 1 = 4 (collision) → 5
d. (17256 mod 411) + 1 = 405 + 1 = 406
P13-8 键10278对应的数据结尾含有一个指向键20553对应数据的指针
P13-9
P13-10 好麻烦,有空再补
P13-11
P13-12 好麻烦,有空再补
P13-13
P13-14 好麻烦,有空再补
P13-15
P13-16 好麻烦,有空再补