课外资料计算机常用算法[1].ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同理,求从11出发到底端的最大路径问题可以转化为从12出发和从7出发的最大路径问题。[决策:路径和最大] [状态转移方程:Fi=max(Fi-1(左), Fi-1(右))] A、当到倒数第二层时,每个结点其后继仅有两个结点,可以直接比较,选择最大值为前进方向,从而求得从根结点开始到底端的最大路径。[终止条件] B、自底向上计算 从底层开始,本身数即为最大数; 倒数第二层的计算,取决于底层的数据:12+6=18,13+14=27,24+15=39,24+8=32 最后的路径为:13-8-26-8-24 4)数据结构及算法设计: A、图形转化:直角三角形,便于搜索,向下或向右 B、用三维数组表示数塔:a[x,y,1]表示行、列及结点本身数据 a[x,y,2]表示能够取得最大值 a[x,y,3]表示前进方向,0向下,1向右。 C、算法:数组初始化,输入每个结点值以及初始的最大路径、前进方向0;从倒数第二层开始向上一层求最大路径,共循环n-1次;从顶向下,输出路径:关键是j的值,由于行逐渐递增,表示向下,究竟是向下还是向右取决于列的值。若j的值比原先多1则向右,否则向下。 例3、一个n行m列迷宫(1 ≤ n,m ≤ 50),入口位于左上角,规定只能往下或往右走。迷宫中存在一些障碍物无法通过。迷宫的某些地方里藏有不同价值的宝藏。求所能收集的宝藏的最大价值。 子结构划分:逐行扫描。考虑迷宫某一点,要求走到这一点所 能收集的宝藏的最大价值,先求出走到它在边和 上边所能收集的宝藏的最大价值。 [算法分析]: 变量的定义:Ai,j=迷宫第i行第j列的宝藏价值,-1表示障碍物; F i,j=走到第i行第j列所能收集大宝藏的最大价值。 状态转移方程:Fi,j=max{Fi,j-1|j1, Fi-1,j |i1}+ Ai,j 边界条件: F1,1 = A1,1 answer= Fn,m 在一个操场上摆放着一行共n堆石子。现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆石子数记为该次合并的得分,请编程计算出将n堆石子合并成一堆的最小得分。 采药【问题描述】 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你是辰辰,你能完成这个任务吗? 【输入文件】输入文件medic.in的第一行有两个整数T(1 = T = 1000)和M(1 = M = 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。 【输出文件】输出文件medic.out包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。 【数据规模】 对于30%的数据,M = 10; 对于全部的数据,M = 100。 计 算 机 常 用 算 法 7、动态规划 1、穷举法(枚举法) 2、递归法 3、回溯法 4、模拟法 6、分治法 5、贪心法 枚举法[穷举法] 枚举法(通常也称为穷举法)是指在一个有穷的可能的解的集合中,枚举出集合中的每一个元素,用题目给定的约束条件去判断其是否符合条件,若满足条件,则该元素即为整个问题的解;否则就不是问题的解。枚举的思想往往是最容易想到的一种解题策略,枚举法从本质上说是一种搜索的算法,但适用枚举法解题必须满足下列条件: 1)可预先确定解元素的个数n,且问题的规模不是特别大; 2)对于每个解变量A1,A2,。。。An的可能值必须为 一个连续的值域。 枚举法的算法流程:设ai1为解变量Ai的最小值;aik为解变量的最大值;其中1 ≤ i ≤ n. A1∈ {a11,a12,…,a1K} A2∈ {a21,A22,…,A2K}

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档