算法设计和分析-第5章-减治法.pptxVIP

  • 62
  • 0
  • 约8.79千字
  • 约 81页
  • 2019-11-20 发布于广东
  • 举报
第5章 减治法 ;5.1 减治法概述;5.1 减治法概述;;例:计算an的值,应用减治技术得到如下计算方法:; 34;应用分治法(例如二分法)得到的算法通常具有如下递推式: ; 所以,通常来说,应用减治法处理问题的效率是很高的,一般是O(log2n)数量级。 ;5.2 查找问题中的减治法 ;一、问题描述: 应用折半查找方法在一个有序序列中查找值为k的记录。若查找成功,返回记录k在序列中的位置,若查找失败,返回失败信息。 ;基本思想:在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键码相等,则查找成功;若给定值小于中间记录的关键码,则在中间记录的左半区继续查找;若给定值大于中间记录的关键码,则在中间记录的右半区继续查找。不断重复上述过程,直到查找成功,或所查找的区域无记录,查找失败。 ;例:查找值为14的记录的过程: ;算法5.1——折半查找 1. low=1;high=n; //设置初始查找区间 2. 测试查找区间[low,high]是否存在,若不存在,则查找失败; 否则 3. 取中间点mid=(low+high)/2; 比较k与r[mid],有以下三种情况: 3.1 若kr[mid],则high=mid-1;查找在左半区进行,转2; 3.2

文档评论(0)

1亿VIP精品文档

相关文档