微信小程序码
微信小程序
练习更方便
案例
真题 2021年上半年
试题四(15分)
阅读下列说明和C代码,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
凸多边形是指多边形的任意两点的连线均落在多边形的边界或者内部。相邻的点连线落在多边形边上,称为边,不相邻的点连线落在多边形内部。称为弦。假设任意两点连线上均有权重,凸多边形最优三帮剂分问题定义为:求将凸多边形划分为不相交的三角形集合,且各三角形权重之和最小的剖分方案。每个三角形的权重为三条边权重之和。 假设N个点的凸多边形点编号为V1,V2,……,VN,若在VK处将原凸多边形划分为一个三角V1VkVN,两个子多边形V1,V2,…,Vk和Vk,Vk+1,…VN,得到一个最优的剖分方案,则该最优剖分方案应该包含这两个子凸边形的最优剖分方案。用m[i][j]表示带你Vi-1,Vi,…Vj构成的凸多边形的最优剖分方案的权重,S[i][j]记录剖分该凸多边形的k值。则

其中:
Wj,i-1分别为该三角形三条边的权重。求解凸多边形的最优剖分方案,即求解最小剖分的权重及对应的三角形集。
【C代码】



【问题1】(8分)
根据说明和C代码,填充C代码中的空(1)~(4)。

【问题2】(7分)
根据说明和C代码,该算法采用的设计策略为(5),算法的时间复杂度为(6),空间复杂度为(7) (用0表示)。
查看更多题目