算法导论14.3-7

  HOHO~~.话说好久没有长时间地钻研算法问题了,这次钻研了好几道,写出来了.感觉非常不错.而且,网吧旁边没有人,想写什么就写什么,哈哈.

  问题描述是这样的,一块电路板,上面镶嵌电气元件,涉及到分布问题.因为可能出现两块元件出现覆盖的问题,嗯.这就是问题的基本描述,接下来说下去.理所当然地使用区间树来解决这个问题,先将输入块按照X坐标排序,从而得到坐标的范围.只检查这个范围就好了.接下来,用一条线从左道右扫描这块区域,如果遇到块的左边,则依据该块的y坐标去区间树中检查是否出现重叠.这里需要说明的是,实现中包含了找出所有覆盖的块的方法以及仅找出覆盖的最左面的块的方法.具体的问题根据具体需要吧.毕竟是一道算法问题,没有大肆进行包装.呵呵.接着说下去.将这块的y坐标插入分区树中,无论是否出现重叠;如果,是某个块的右边,则从区间树中删除这个块,因为它已经不在当前的考察范围内了.

  就这样,进行下去了.思路很清晰,实现的细节不难.

  虽然是C++文件,我没有使用多少C++特性.感觉,用C++写得很舒服.嗯.这一轮的算法研究之后,就又继续C++了.如此往复,呵呵.

  总是这样,写的时候,琢磨着写出来之后,说说这,说说那.一旦写完了,不想说太多了.呵呵.

  贴出来吧.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值