浅谈用极的大化思想解决最大子矩形问题--王知昆.pptVIP

  • 1
  • 0
  • 约4.2千字
  • 约 45页
  • 2017-10-21 发布于浙江
  • 举报

浅谈用极的大化思想解决最大子矩形问题--王知昆.ppt

浅谈用极的大化思想解决最大子矩形问题--王知昆

算法1 从左向右扫描,第一次遇到2号点,可以得到一个有效的极大子矩形,如图所示 左边界 上边界 下边界 1 2 算法1 因为左边界覆盖1号点且右边界在2号点右边的有效子矩形都不能包含2号点,所以需要修改上下边界 2号点在1号点上方,因此要修改上边界 左边界 上边界 下边界 1 2 算法1 继续扫描到3号点,又得到一个极大有效子矩形,如图所示 左边界 上边界 下边界 1 3 算法1 因为3号点在1号点下方,所以要修改下边界。 左边界 上边界 下边界 1 3 算法1 以此类推,可以得到所有以1号点为左边界的极大有效子矩形。 然后将左边界移动到2号点、3号点……横坐标的位置。开始扫描以2号点、3号点……为左边界的极大子矩形。 左边界 上边界 下边界 2 3 算法1 遗漏的情况 前面的做法可以找出所有左边界覆盖了一个障碍点的极大子矩形,此外,还有两类遗漏的情况。 算法1 遗漏的情况 一类是左边界与整个矩形的左边界重合,右边界覆盖一个障碍点的情况。 解决方法:用类似的方法从右向左扫描一次。 算法1 遗漏的情况 另一类是左边界与整个矩形的左边界重合,且右边界也与整个矩形的右边界重合的情况。 解决方法:预处理时增加特殊判断。 算法1 优劣分析 算法1的时间复杂度为O(S2),空间复杂度为O(S)。 优点:利用了极大化思想,复杂度可以接受,编程实现简单。 缺点:使用有

文档评论(0)

1亿VIP精品文档

相关文档