软件应用技术基础:查找算法.docVIP

  • 3
  • 0
  • 约4.01千字
  • 约 8页
  • 2018-11-16 发布于江苏
  • 举报
软件应用技术基础:查找算法

2.7查找 2.7.1 查找的基本概念 查找的定义:给定一个值K,在含有n个记录的文件中进行搜索,寻找一个关键字值等于K的记录,如找到则输出该记录;否则输出查找不成功信息。 2.7.2 线性查找 线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。如图2.68和图2.69 2.7.3 对分查找 又称为跳跃式查找,假设记录是按关键字递增有序排列的,对分查找的基本思想是:先找到“中间记录”,比较其关键字与给定值K相等,则查找成功;如果关键字小于给定值K则说明被查找记录必在前半区间中;反之则在后半区间中。这样把搜索区间缩小了一半,继续进行查找。 在算法中,设置一个下界指示器low和一个上界指示器high,它们分别指向待查文件搜索区间的头、尾。由low和high的值可以计算出“中间记录”位置,由mid表示。 设顺序表r[1:n]的关键字项为r[i].key (1≤i≤n)将K值r[mid].key比较: 若r[mid].key=K 查找成功 若r[mid].key>K 令high=mid-1,继续查找 若r[mid].key<K 令low=mid+1,继续查找 若low>high 查找不成功

文档评论(0)

1亿VIP精品文档

相关文档