递归算法的参数设置.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
竺 /// 递归算法的参数设置 ★ 陈宝平 (内蒙古财经学院计算机信息管理学院,呼和浩特 010070) 摘 要:递归算法参数的设置是至关重要的,基于递归算法的特征,提出一种通用的递归算法的设 计模式。在此基础上进一步讨论参数的设置的方式及其效果,为研究递归算法提供有效的 解决方案,具有很强的实用性,并结合经典实例给以说明。 关键词 :递归;算法 ;参数 0 引 言 现函数调用时.它们并不 占用内存 的存储单元 ,只用在 发生函数调用时.函数中的形参才被分配内存单元.以 递归函数f11结构清晰.直观方便。程序易读。而且它 便接受从实参传来的数据。在调用结束后,形参所 占的 的正确性容易得到证明(可 以用数学归纳法来证明),因 内存单元也被释放。实参和形参是 “值传递”.即单项传 此.在程序设计中递归是一个非常重要且强有力的工 递.只是由实参传递给形参 .而不能由形参传回来给实 具。对于本身定义是递归的问题 (例如阶乘函数 、斐波 参 在调用函数时编译系统I临时给形参分配存储单元。 那契 (Fibonacci)数列等)、所用数据结构是递归的问题 对于一般简单变量实参单元和形参单元是不同的空 (例如单链表、二叉树等)、其求解过程满足递归性质的 间。调用结束后.形参单元被释放。实参仍保留并维持 问题 (例如 Hanoi塔问题等)都可以很方便地使用它得 原值。因此 。在执行一个被调用的函数过程中,形参的 到解决 递归问题一般采用分治法解决 .分治法的设计 值发生改变不会影响实参的值 .如图1所示。 思想是:将一个难以解决的大问题 ,分割成一些规模较 小的相同问题,以便各个击破 ,分而治之。根据递归问题 黪 黪 变 的特征。人们提出了一些递归模型和程序设计方法口卅。 事实上在递归的模型中.参数的设计是非常重要的,本 形参 x 形参x发生改变 文在分治的基础上.提出递归方法应用模式 .并且进一 步细化.重点讨论递归算法中的参数设置,并通过一些 图 1 简单变量的值传递 比较经典的实例加 以说明 但是在很多情况下 .我们需要实参的值与形参一 1 函数的参数 同变化 ,尤其在递归算法中,这样的场合是常见 的,此 在调用函数时,大多情况下,函数是带参数的。主 时可以通过两种方式来解决 :使用引用型参数和地址 调函数和被调函数之间有数据传递关系。函数一般分 传递参数。引用型参数其实质是传送变量的别名 ,形参 为形式参数和实际参数 .在定义函数名后面括号内的 是不 占存储单元.实参和形参代表一个变量.如图2所 变量名 ,称为形式参数 ,在主调函数中调用一个函数 示。地址传递参数一般通过指针变量实现 ,实参是一个 时,函数名后面括号内的参数称

文档评论(0)

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

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

1亿VIP精品文档

相关文档