文件主文件学习 严蔚敏讲数据结构笔记27

每日一贴,今天的内容关键字为文件主文件

    次序文件的插入、删除和更新操纵在少数情况下都采用批处理方法。此时,为处理方便,平日将次序文件做成有序文件,称作“主文件”,同时将所有的操纵做成一个“事务文件”(进过排序也成为有序文件),所谓“批处理”,就是将这两个文件“合”为一个新的主文件。具体操纵相当于“归并两个有序表”。

     

    但有两点不同:

    (1)      对于事务文件中的每个操纵首先要判别其“合法性”;

    (2)      事务文件中可能存在多个操纵是对主文件中同一个记载进行的。

    批处理的时光分析:

    假设主文件中含有h个记载,事物文件中含有m个记载,则对事务文件中含有m个记载,则对事务文件忘性排序的时光复杂度为O(mlogm);外部归并的时光复杂度为O(m+n),则总的外部处理时光为O(mlogm+n);

    假设对外存进行依次读、取为s个记载,则整个批处理过程当中读、写外存的次数为

    (其中s为对外存进行一次读、取的记载数)

     

    12.3索引文件

    一、结构特色:

    1.索引文件由“主文件”和多级“索引”组成

    2.索引中每个记载由“关键字”和“指针”组成。

    3.平日,索引文件中的主文件是无序文件,索引是(按关键字有序)的有序文件。

    4.“索引”是在输入数据建立文件时自动生成。初建时的“静态索引”为无序文件,经过排序后称为有序文件。

     

    二、操纵特色:

    1.检索方法:直接存取和按关键字存取,“按关键字检索”将两步进行:先查找索引,然后根据索引中指针所指索取记载。

    2.插入记载时,“记载”插入在主文件的末端,而响应的“索引项”必须插入在索引的适合位置上。因此,最后在建索引表时留有必定“空位”。

    3.删除记载时,仅需删除索引表中响应的索引项即可。

    4.更新记载时,应将更新后的记载插入在主文件的末端,同时修改响应的索引项。

     

    1.      多级静态索引

    此时的索引文件结构

    对主文件中每个记载建立一个索引项:

    从索引表建立索引查找表,其中每个索引项为:

    按关键字进行件检索时,从第三查找表点开始,至多访问外存5次。

     

    每日一道理
古人云:“海纳百川,有容乃大。”人世间,不可能没有矛盾和争吵,我们要以磊落的胸怀和宽容的微笑去面对它 。哈伯德也曾说过:“宽恕和受宽恕的难以言喻的快乐,是连神明都会为之羡慕的极大乐事。”让我们从宽容中享受快乐,从谅解中体会幸福吧!

    2.      动态索引

    索引表采用查找树或哈希表

    长处:

    1)  不须要建立多级索引

    2)  初建索引不须要进行排序;

    3)  插入或删除时,修改索引方便

    用查找树表做索引时,查找索引所需访问外存次数的最大值恰为查找树的深度。

    可以做索引的树表有:二叉排序树、B-树和键树

    稠密索引长处是,可以实现“预叉找”缺陷是,索引表占用的存储空间大。

     

    12.4 索引次序文件

    结构特色:

    主文件按主关键字有序,对一组记载建立一个索引项(建立非稠密索引)。

    有两种典范的索引次序文件:

    一、ISAM文件

    ISAM(IndexSequentialAccessMethod)(索引次序存取方法)是一种专为磁盘存取设计的文件组织方法。

    1.      文件的组织方法

    主文件按柱面会合寄存,同时建立三级索引:磁道索引、柱面索引和主索引。

    磁道索引结构

    2.      操纵的特色

    检索:可有两种方法:

    次序存取-依关键字最小至最大次序存取。

    按关键字存取-从主索引开始,到柱面索引,到磁道索引,最后得到记载,先后访问四次外存。

    插入:将记载插入在某个磁道的适合位置上;将该磁道上关键字最大的记载移出到本柱面的溢出区中;

    修改本磁道的索引项(包含基本索引项和溢出索引项)。

    删除:

    在被删记载以后存储位置上作“删除标记”。

     

    3.      文件重组

    在经过多次的插入和删除操纵之后,大批的记载进入文件的“溢出区”,而“基本存储区”中出现了很多已被删去的记载空间,此时的文件结构很不合理。因此,对ISAM文件,须要周期地进行重组。

     

    4.柱面索引的位置

    ISAM文件占有多个柱面,其柱面索引本身占有一个柱面,为使“磁头”的平均移动距离最小,柱面索引应该在数据文件所占全体柱面的旁边位置。

     

文章结束给大家分享下程序员的一些笑话语录: 祝大家在以后的日子里. 男生象Oracle般健壮; 女生象win7般漂亮; 桃花运象IE中毒般频繁; 钱包如Gmail容量般壮大, 升职速度赶上微软打补丁 , 追女朋友像木马一样猖獗, 生活像重装电脑后一样幸福, 写程序敲代码和聊天一样有**。

--------------------------------- 原创文章 By
文件和主文件
---------------------------------

posted @ 2013-05-30 20:35  坚固66  阅读(173)  评论(0编辑  收藏  举报