算法:分治策略经典题目

改文章仅供自己作为学习资料!!!

1.二分搜索技术

 问题描述

大部分程序员应该都知道二分搜索的大致原理,这里不再赘述。需要说明的是二分搜索是所有以比较为基础的搜索算法时间复杂度最低的算法。用二叉树描速二分查找算法,最坏情况下与二叉树的最高阶相同。比较二叉树线性查找也可用二叉树表示,最坏情况下比较次数为数组元素数量。任何一种以比较为基础的搜索算法,其最坏情况所用时间不可能低于O(logn)。

详细请看:

https://blog.csdn.net/liufeng_king/article/details/8477868

 

2.大整数乘法大整数乘法

详细请看:

https://blog.csdn.net/u012515223/article/details/29353263

3.Strassen矩阵乘法

 问题描述

一个n-by-n矩阵是n行n列的数排列起来的方阵。矩阵A第i行第j列数记为aij。定义两个n阶矩阵的乘法C = A * B,其中cij = ai1b1j + ai2b2j + ... + ainbnj

详细请看:

https://blog.csdn.net/jiyanfeng1/article/details/8543849

4.棋盘覆盖

 问题描述

在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖。四个L型骨牌如下图:

       棋盘中的特殊方格如图:


       实现的基本原理是将2^k * 2^k的棋盘分成四块2^(k - 1) * 2^(k - 1)的子棋盘,特殊方格一定在其中的一个子棋盘中,如果特殊方格在某一个子棋盘中,继续递归处理这个子棋盘,直到这个子棋盘中只有一个方格为止如果特殊方格不在某一个子棋盘中,将这个子棋盘中的相应的位置设为骨牌号,将这个无特殊方格的了棋盘转换为有特殊方格的子棋盘,然后再递归处理这个子棋盘。以上原理如图所示:

详细请看:

https://blog.csdn.net/liufeng_king/article/details/8477868

 

5.合并排序和快速排序

详细请看:

https://blog.csdn.net/liufeng_king/article/details/8478566

https://blog.csdn.net/liufeng_king/article/details/8478389

6.线性时间选择

 问题描述

线性时间选择问题:给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素,(这里给定的线性集是无序的)。

       1、随机划分线性选择

       线性时间选择随机划分法可以模仿随机化快速排序算法设计。基本思想是对输入数组进行递归划分,与快速排序不同的是,它只对划分出的子数组之一进行递归处理。

详细请看:

https://blog.csdn.net/liufeng_king/article/details/8480430

7.最接近点对问题

 问题描述

在应用中,常用诸如点、圆等简单的几何对象代表现实世界中的实体。在涉及这些几何对象的问题中,常需要了解其邻域中其他几何对象的信息。例如,在空中交通控制问题中,若将飞机作为空间中移动的一个点来看待,则具有最大碰撞危险的2架飞机,就是这个空间中最接近的一对点。这类问题是计算几何学中研究的基本问题之一

详细请看:

https://blog.csdn.net/liufeng_king/article/details/8484284

8.循环赛日程表

  问题描述

设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:

     (1)每个选手必须与其他n-1个选手各赛一次;
     (2)每个选手一天只能参赛一次;
     (3)循环赛在n-1天内结束。
     请按此要求将比赛日程表设计成有n行和n-1列的一个表。在表中的第i行,第j列处填入第i个选手在第j天所遇到的选手。其中1≤i≤n,1≤j≤n-1。8个选手的比赛日程表如下图:

详细请看:

https://blog.csdn.net/liufeng_king/article/details/8488421

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值