算法问题的解决 —— 预测答案结构(限制答案的形式)
来源:互联网 发布:小学生英语伴读软件 编辑:程序博客网 时间:2024/05/16 09:37
对于一些存在数量庞大的子问题的问题,我们可以强制预测答案结构。所谓预测答案结构,即是寻找可行的答案中可能存在的 pattern,也即规律。
比如序列的量化问题,将小于 1000 的自然数组成的序列量化成 s 个自然数组成的序列,且要求最终的误差平方和最小。比如,把序列{1 2 3 4 5}
量化成{2 2 4 4 4}
(s = 2)。
该问题其实蕴含着丰富的子问题,对着这种具有庞大子问题的问题,我们就可以采用强制预测答案结构的方式进行。
- 对于给定序列,那么被相同数值量化的数值一定相邻;
例如,量化 {1, 2, 3, 4}
时,像{2, 2, 3, 2}
形式的答案不可能是最优解。明白了这点,就等于找到了解决此问题的方法:
- 首先对给定序列排序,
- 然后采用适当方式分割出相邻数值组成的数值快;
用相应数值表示每个数值快就可以得到最小误差;
{1, 4, 6, 744, 755, 777, 890, 897, 902}
⇒{{1, 4, 6}, {744, 755, 777}, {890, 897, 902}}
通过以上步骤,原题就变成“把给定序列分割成 s 个数值快”的问题。显然这种问题采用递归调用的方式就可轻松解决,自然每次递归调用时决定第一个数值快的大小。
0 0
- 算法问题的解决 —— 预测答案结构(限制答案的形式)
- 怎样找到一个算法问题的答案
- 第二章 程序的灵魂—算法 (答案)
- 《算法入门经典》的答案
- 我遇见的问题(没有答案)
- 关于傻子坐飞机问题的答案 (算法的改进)
- 关于傻子坐飞机问题的答案 (算法的改进)
- 一些问题的候选答案
- 高等几何——周兴和答案1(自己写的,非标准答案,望指正)
- 高等几何——周兴和答案2(自己写的,非标准答案,望指正)
- 几何的基本算法常见问题及答案收集(转)
- 微软的22道数据结构算法题(含答案)
- 微软的数据结构算法面试题(含答案)
- iOS常见的算法面试题及(swift)答案
- 挑战篇二.2:内存池分配问题(最优适应算法)——答案错误
- 关于变形的背包问题的答案(C版)
- 认识自己的问题--- 我的答案
- USB的八个问题和答案(适用初学者)
- 多线程之再探 Thread 数据共享
- java知识小结之常见设计模式
- 文件下载
- 人件读书笔记(04)质量----如果时间允许
- 编程规范
- 算法问题的解决 —— 预测答案结构(限制答案的形式)
- Ubuntu下Qt5.2编译mysql驱动
- python 使用socket模拟tcp客户端和tcp服务器端
- Python 面向对象 成员的访问约束
- openfire的session与路由机制(一)问题域分析
- mysql绿色版安装
- Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1)
- iOS开发的一些小方法
- IKAnalyzer源码分析---1