- 5
- 0
- 约4.14千字
- 约 21页
- 2017-05-06 发布于上海
- 举报
算法设计基本思路
* * * * * * * * * * * 算法设计的基本思路 赵建华 南京大学计算机系 一些基本思路 复用已有的计算结果 通过预处理或改变计算方法,计算出可共用的中间结果 避免或减少无效的计算 保存/查询中间计算结果的方法 待求解的问题可以逐层分解成多个小问题; Q分解成为Q1,Q2,…,Qn Qi分解成为Qi1,Qi2,…,Qim 如果Qij之间有很多重合的地方,那么我们可以在第一次求解Qij的时候记录结果,并且在之后通过查询来避免重复求解Qij。 在应用中,有某个问题需要多次求解。且每次求解有很多可以重复利用的情况。 这个可以看作是上面一个问题的衍生情况。 保存/查询的例子(1) 棋类博弈问题 每个玩家的得分是他的最大块棋子的个数。 得分高的人赢得比赛。 问题:当棋盘上只有10个空格的时候,求是否某人一定赢。 描述 使用一个Config数据结构来描述棋局 记录了各个棋子的位置; 记录了下一步谁下 最基本的博弈递归函数 boolean win(Configure cfg) { if(cfg是最终结局) 计算各个player的得分,并返回胜负结果 for(每个可能的后继结局cfg’) if(!win(cfg’)) return true;//存在使对方必输的走法 return false } 中间结果的保存 Configure数据类型最多有1024个取值。 w
您可能关注的文档
最近下载
- 国家标准 NYT 3437-2019 沼气工程安全管理规范.pdf VIP
- 安全科学原理(理论知识)试题及答案.doc VIP
- 2025年(安全工程)安全科学原理试题及答案.doc VIP
- 2025 年大学安全工程(安全科学原理)上学期期末测试卷.doc VIP
- 阿里云DataClaw:如何让Agent安全访问数据(2026年).pdf
- TGXAS 697-2024 融水苗族服饰.pdf VIP
- 2025 年大学安全工程(安全科学原理)试题及答案.doc VIP
- 2026年DataClaw:如何让 Agent安全访问数据报告.docx
- 安全科学原理期末考试试题.docx VIP
- 东南A5翼舞_汽车使用手册用户操作图示图解详解驾驶指南车主车辆说明书电子版.pdf VIP
原创力文档

文档评论(0)