计算机程序设计中查找算法效率分析

2016-03-16 01:05杜衡吉
环球市场 2016年18期
关键词:关键字分块哈希

杜衡吉

曲靖师范学院信息工程学院

计算机程序设计中查找算法效率分析

杜衡吉

曲靖师范学院信息工程学院

随着计算机技术的发展,不断涌现的帮助我们工作生活的软件越来越多,这些有着专门应用场景的程序在我们的工作中会起到事半功倍的作用,减少工作人员的劳动时间,增加工作效率,为我们的生活提供便捷,但在这些实惠的背后却有一个不得不让人重视的现实,那就是凡事都有正反两面,计算机日益普及的背后也会带来一些计算机问题不断扩散的隐患,本文主要分析计算机程序设计中的查找算法和存在的问题及优化思想。

查找算法;计算机发展;计算机程序

随着计算机技术的高速普及,我们对于计算机的工作效率要求也水涨船高。原先零星暴露出的一些问题也就成为了一个覆盖面极其广泛的现象级问题,这些问题不到解决,那么就会给我们的工作生活带来程度不一的麻烦。本文所介绍的是常见的计算机程序设计中的查找算法效率的分析,同时也会提出计算机程序设计中查询算法现存的一些问题。

一、查找算法的分类

一个好的系统应该有一个高效简洁的查找途径,方便工作人员的操作和学习。而决定一个查找途径是否高效的关键就是其内部编程的查找算法。目前常见的集中查询算法分别是。

1.顺序查询

最简单也是最常见的一种查询方式,符合大众的思维逻辑方向,其具体的操作过程就是讲需要查找的关键字输入进程序,程序通过将输入的关键字与查找表中记录下的已有关键字一一对比,从表头查到表尾,再从表尾查到表头,通过数据的比较,最终显示出查找到结果。如果需要查找的资料关键字不是很长,而且关键字之间不存在顺序关系的排列就建议使用这种查询方式操作。

2.折半查询

折半查询又名二分查找,其工作逻辑与顺讯查找有很大的不同,将等待查找的记录关键字K放到整个查找表的中间位置,进行比较,如果正好相同,说明查找成功,如果出现关键字K比查找表小的情况,就往查找表靠前的方向进行折半查找,如果出现关键字K比查找表中所存关键字大的情况,就往查找表靠后的方向进行折半查找。因为每经过一次比较,查找范围都缩小了一半,所以就被称作折半查找。这种查找方式适用于需要查询的关键词可以组成查询表,而且所有的查询表都是按顺序排列的,如果满足这些条件就可以考虑采用折半查找这一方法来进行查找工作。

3.分块查询

分块查询实际上是顺序查询的一种变形或者说是延伸,在分块查询的时候需要满足以下要求,查找表的排列顺序都是分块有序的,简单来讲就是将在查找表中所记录下来的的内容按照关键字的特点分成若干个子表,需要保证的是后一子表中所记录下的关键字要全部都大于前一子表中所记录的数值,除了建立查找表之外,还需要额外再建立一个索引表,用来存储每一个子表中存在着的最大关键字信息和起始位置。如果整个查询表可以满足分块有序的规则,就可以考虑采用分块查询法。从查找速度来看,分块查找的速度没有折半查找算法来得快,但比顺序查找算法快得多,也不需要对全部节点进行排序。当节点很多且块数很大时,对索引表可以采用折半查找,这样能够进一步提高查找的速度。分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况。当增加或减少节以及节点的关键码改变时,只需将该节点调整到所在的块即可。在空间复杂性上,分块查找的主要代价是增加了一个辅助数组。

4.哈希查询

是一种利用哈希函数的运算而实现的查找算法方式。哈希函数的查找逻辑是在被记录的关键字与记录数据的位置之间建立一种相互的对应关系,这种关系我们称之为哈希函数。其优势就是整个函数构造非常的灵活,构造方法非常多,可以采用数字分析法、直接定址法、 平方后取中值、折叠法 、除留余数法以及随机函数法等,而且还可以根据关键词的特点来进行自行的设定。

二、现有查找方式的一些问题与优化思想

1.存在的问题

在计算机普遍应用各行各业的今天,一个算法的优劣造成的后果不仅仅是一次运算结果的对错,而可能导致整个公司的大额损失,在日常工作与生活中,各种各样的查询程序为人们能够高效工作提供了可能,但是也会存在有些时候错误的数据反馈给人们造成误导,从而导致损失出现的情况。根据调查,在如今琳琅满目的计算机程序查询方式中,总会出现提供搜索的关键词与最终搜索出的内容完全不符的情况,这种情况在数量较小的时候还有可能被相关人员发现纠正,但一旦涉及到大宗数据交互,就很可能因为工作人员的精力有限好导致没有被及时的发现,从而造成错误和损失的情况。这也是目前查询算法所存在的一个最主要的问题,如果这个问题迟迟得不到解决的话,就会让人失去对计算机查询算法的信心,从而减缓了整个计算机行业的发展。查询算法被创造出来的初衷就是为了帮助人们,如果查询不到我们原本想要的内容,那么查询算法的出现就失去了应有的意义。

2.查询优化思想

早期传统的聚集查询算法主要关注于获得精确的聚集统计值,然而在很多的现实应用场景中,用户只需获得近似的聚集结果而非精确查询结果。针对不确定数据集的近似概率聚集查询问题,可以根据查询关键词添加与搜索关键词相关联的词语构建扩展查询,从而得到更加准确的搜索结果,这种方法对于查询内容与查询词语不符这一问题能够提供有效帮助,对于查询系统来说是一种很好的辅助查询方式。

三、结束语

在社会高速发展的今天,计算机的应用己经将我们的整个生活和工作都覆盖到了。查找功能作为计算机所有程序中的使用率非常高的一类。如何才能提高查找的工作效率就成为了一个计算机程序设计中不可回避的问题。对于计算机查找算法的优化是一个值得探索的途径。计算机技术目前仍然处在一个不断发展的过程中,如何推广计算机技术的发展,使之能够更好的为人类服务,就需要更加安全可靠的算法程序来支持,如何创造出这样的查找算法成为了现如今摆在计算机程序算法创造者们面前一个宏大的目标。

[1]杨殿生.计算机程序设计中查找算法效率分析[J].计算机光盘软件与应用,2014,(23):104-104,106.

[2]王意洁,李小勇,祁亚斐,孙伟东.不确定数据查询技术研究[J].计算机研究与发展,2012,49(7):1460-1466.

猜你喜欢
关键字分块哈希
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
钢结构工程分块滑移安装施工方法探讨
哈希值处理 功能全面更易用
文件哈希值处理一条龙
分块矩阵在线性代数中的应用
成功避开“关键字”
基于OpenCV与均值哈希算法的人脸相似识别系统
巧用哈希数值传递文件
基于两级分块的文件同步方法
分块矩阵在矩阵证明题中的应用