C第5章C常用算法程序设计4Hnew.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C第5章C常用算法程序设计4Hnew

2)牛顿迭代法高次方程求根 x2为求得的近似根 否则x1 = x2,利用迭代公式再求新的x2 牛顿迭代法,也称弦截法 已知x1可求p1点的切线x轴的交点x2,进而导出迭代公式: 对方程给定一个初值x1作为方程的近似根,利用迭代公式,求得x2 ,当 实例5.2:牛顿迭代法高次方程求根 求 x3 - x –1 = 0 在2附近的根 private void button1_Click(object sender, EventArgs e) { int i = 0;//迭代次数 double x1 = 2, x2 = 0; while (Math .Abs(x2 - x1 ) 0.0001) { x2 = x1 - (x1 * x1 * x1 - x1 - 1) / (3 * x1 * x1 - 1); x1 = x2 ; //迭代公式 i++; } textBox1.Text = x2.ToString(); textBox2.Text =“迭代次数:”+ i.ToString(); } 6、数值积分 求积分有:矩形法、梯形法、抛物线法等。 但是多数函数f 找不到其原函数F,计算机可求其近似解。 定积分的几何意义是求函数曲线和x轴、x = a、x = b 三条直线所围成区域的面积。位于x轴上方的面积为正值,下方为负值。 矩形面积法求数值积分 可将区域分割成很多等宽度的矩形,矩形的面积之和为区域的近似面积。 ? 实例6.1:矩形面积法求积分 π 矩形面积法求积分 private void button1_Click(object sender, EventArgs e) { double s = 0;//积分和 double a = 0, b = 2;//积分区间 long n = Convert.ToInt32(textBox1.Text);//划分矩形个数 double w =(b - a)/n;//矩形宽度 for (long i =1;in;i++) { double h = Math.Sqrt(4 - (a + w*i ) * (a + w*i )) ; s += w * h; } label1.Text = s.ToString(); } 梯形法积分 梯形法积分的思想是: 将积分区间[a,b]n等分,小区间的长度为,第i块小矩形的近似面积为: 整个积分的结果为这n块小面积的累加,即 : a xi xi+1 b x f Fact(int n ) n==1? n = 1 n = n * Fact(n - 1) call Fact(int n ) return n true false 开始 结束 输出Fact(n) 输入n 7、分治算法 把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 步骤: 分解,将问题划分成若干规模较小的同类问题; 求解,当子问题划分得足够小时,用简单的方法解决; 合并,将子问题的解逐层合并构成原问题的解。 分治策略的解题思路 if 问题不可分 { 直接求解; 返回问题的解; } else { 对原问题进行分治; 递归对每一个分治的部分求解 归并整个问题,得出全问题的解; } 实例1:找伪币 用一个天平找伪币,1 6个硬币中一个伪币,伪币较轻。 一般算法: 任意取1枚硬币,与其他硬币进行比较,若发现轻者,这那枚为伪币。最多可能有15次比较。 将硬币分为8组,每组2个,每组比较一次,若发现轻的,则为伪币。最多可能有8次比较。 分治法: 分两组,天平测量,若相等无伪币,否则轻的含伪币; 轻的再分组、测试 重复上步骤,4次即可找出。 实例2:递归法梵塔(Hanoi)问题* 传说印度古代一个神庙内有A、B、C 三个柱,A柱有64个大小不等的金盘,大的在下。 和尚们把这64个盘子从A柱借助B柱移到C柱,但每次只允许移动一个盘,且在移动过程中各个柱上始终保

文档评论(0)

报告论文库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档