《算法艺术与信息学竞赛》标准课件107.pptVIP

  • 2
  • 0
  • 约4.45千字
  • 约 47页
  • 2018-06-23 发布于湖北
  • 举报

《算法艺术与信息学竞赛》标准课件107.ppt

《算法艺术与信息学竞赛》标准课件107.ppt

分析 可以用矩阵来保存结果 C[j,k]表示从j到k的关键码组成的最优排序二叉树 Root[j,k]记录这棵排序二叉树的根 * vjghkjh 分析 考虑三个结点的情形 最优值放在C[B,D]中,根放在root[B,D]中 * vjghkjh 分析 类似地,更新所有C[j-2,j]和root[j-2,j] * vjghkjh 分析 四个结点的情形(如A-D) * vjghkjh 分析 最终计算结果为 * vjghkjh 分析 可以利用root矩阵递归地构造出最优树 * vjghkjh 分析 时间复杂度:计算每个C[i,j]和root[i,j]需要枚举根结点,故为O(n3) 空间复杂度:需要两个n*n矩阵,O(n2) * vjghkjh 三、最长上升子序列 最长上升子序列问题(LIS)给一个序列,求它的一个递增子序列,使它的元素个数尽量多。例如序列1,6,2,5,4,7的最长上升子序列是1,2,5,7(还有其他的,这里略去) * vjghkjh 分析 定义d[i]是从第1个元素到第i个元素为止的最长子序列长度, 则状态转移方程为 直接使用这个方程得到的是O(n2)算法 下面把它优化到O(nlogn) * vjghkjh 状态的组织 d值相同的a值只需要保留最小的, 因此用数组g[i]表示d值为i的数的a最小值, 显然 g[1]=g[2]=…=g[k] 计算d[i]: 需要在g中找

文档评论(0)

1亿VIP精品文档

相关文档