摘要: 【问题描述】 给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。例如,给定三个连乘矩阵{A1,A2,A3}的维数分别是10*100,100*5和5*50,采用(A1A2)A3,乘法次 阅读全文
posted @ 2020-11-07 16:21 Chen洋 阅读(1401) 评论(0) 推荐(0)
摘要: 棋盘覆盖问题就是一个很经典的分治问题 首先我们先来看一下棋盘覆盖问题到底是个什么问题? 代码C语言实现: #include<stdio.h> #define max 1024 int cb[max][max];//最大棋盘 int id=0;//覆盖标志位 int chessboard(int tr 阅读全文
posted @ 2020-11-07 15:59 Chen洋 阅读(557) 评论(0) 推荐(0)
摘要: 问题:设有n=2^k个选手参加循环赛,要求设计一个满足以下要求比赛日程表: 1)每个选手必须与其它n-1个选手各赛一次; 2)每个选手一天只能赛一次。 分析,按照上面的要求,可以将比赛表设计成一个n行n-1列的二维表,其中第i行第j列的元素表示和第i个选手在第j天比赛的选手号。 采用分治策略,可将所 阅读全文
posted @ 2020-11-07 15:40 Chen洋 阅读(955) 评论(0) 推荐(1)
摘要: 在二维平面上的n个点中,如何快速的找出最近的一对点,就是最近点对问题。 一种简单的想法是暴力枚举每两个点,记录最小距离,在蛮力法实现最近点对问题中,将问题简化:距离最近的点对可能多于一对,找出一对即可,另外只考虑二维平面中的情况。此处考虑到直接用公式计算其距离(欧几里得距离): 通过遍历所有点集,计 阅读全文
posted @ 2020-11-07 15:06 Chen洋 阅读(822) 评论(0) 推荐(0)
摘要: 线性时间选择问题:给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素,(这里给定的线性集是无序的)。 1、随机划分线性选择 线性时间选择随机划分法可以模仿随机化快速排序算法设计。基本思想是对输入数组进行递归划分,与快速排序不同的是,它只对划分出的子数组之一进行递归处理。 阅读全文
posted @ 2020-11-07 11:42 Chen洋 阅读(1788) 评论(0) 推荐(0)