[拼音]:shuju chazhao
[外文]:data search
根据查询要求从一个计算机文件或数据库中提取所需要的数据的技术,这是数据处理的基本技术之一。如果要查找的数据全部放在计算机内存储器中,这种查找即称为内查找;若要查找的数据不在内存而在外存储器中,这种查找便称为外查找。数据一般按照数据项、记录、文件三级组织在一定的结构之中。用于组织文件的基本数据项称为关键字。所谓从文件中查找数据是指根据给定的关键字值在文件中找出包含该关键字值的记录。对于不同的文件结构和查询要求,需要用不同的查找技术。
顺序文件数据查找对于顺序文件,常用的查找方法有线性查找、对分查找、跳步查找和概率查找。
线性查找把给定的关键字值与文件中的记录逐个进行比较,直至找到与之匹配的记录为止。若文件中记录数为N,则查找一个记录平均比较次数为N/2。此法简单,但效率较低。
对分查找此法要求被查找的文件中记录是按关键字值大小顺序排列的。将文件一分为二,把给定关键字值与中点的记录比较,若匹配,则查找成功;否则判断所要查找的记录可能在上半部分,还是在下半部分。然后,对确定的部分继续上述过程,直至找到要求的记录,查找成功;或最后只剩下一个记录仍不能匹配,查找失败。若文件中记录数为N,则查到一个记录的最多比较次数为log2N。
跳步查找先用大步跳过一部分记录,再用较小的步长或顺序查找方法在较小的范围内找到要查找的记录。
概率查找将给定的关键字值按某种公式或算法估算出要查记录的近似位置,然后再用线性查找法确定其准确位置。
随机文件数据查找对于随机文件,如果是计算寻址结构的文件可以采用直接查找的方法,即利用关键字值和记录位置之间的对应关系直接找到该记录。如果是索引结构的文件,先用上述方法查找索引,在索引中找到相应关键字值后,再由索引表上对应的地址找到相应的记录。不同查找方法的效率很不相同,这主要取决于文件结构和查询问题的特点,查询算法本身也是重要影响因素。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)