数据结构与算法python版答案,数据结构与算法python版 期末考试_2

  数据结构与算法python版答案,数据结构与算法python版 期末考试

  递归引入了递归的两个特征:调用自身和结束条件,例如:

  定义函数(x):

  如果x 0:

  打印(x)

  函数(x-1)

  func(3)的执行结果如下:

  三

  2

  1这里需要注意的是,如果你把打印出来的语句放在下面,如下面的代码所示,结果会完全不同。

  定义函数(x):

  如果x 0:

  函数(x-1)

  打印(x)

  func(3)的执行结果如下:

  一个

  2

  32.河内塔问题。河内塔问题:

  n=2时的操作步骤:

  原情况如下。目标是将A和c都移动。

  第一步:把A上的小盘从A移到b。

  第二步:把A盘上的大盘子移到c盘上。

  第三步:将B上的小盘移到C上,结束。

  当有n块板时,思路是把A上的n-1块板看成小板,把A的底板看成大盘,和n=2时的思路一样。

  步骤1:将A上的n-1个磁盘移动到b上。

  第二步:移动A到C板上的底板。

  第三步:将B上的n-1个磁盘移到c盘上。算法实现如下:def hanoi(n,a,b,c):

  通过b将n个磁盘从A移动到C。

  :参数n:

  :参数a:

  :参数b:

  :参数c:

  :返回:

  如果n 0:

  河内(n-1,a,c,b)

  打印(将{n}从{a}移动到{c})

  河内(n-1,b,a,c)

  if __name__==__main__ :

  打印(- n=2 -)

  河内(2, A , B , C )

  打印(- n=3 -)

  河内(3, A , B , C )

  打印(- n=4 -)

  hanoi(4, A , B , C )的执行结果如下:

  - n=2 -

  将1从A移动到B

  将2从A移动到C

  将1从B移动到C

  - n=3 -

  将1从A移动到C

  将2从A移动到B

  将1从C移动到B

  将3从A移动到C

  将1从B移动到A

  将2从B移动到C

  将1从A移动到C

  - n=4 -

  将1从A移动到B

  将2从A移动到C

  将1从B移动到C

  将3从A移动到B

  将1从C移动到A

  将2从C移动到B

  将1从A移动到B

  将4从A移动到C

  将1从B移动到C

  将2从B移动到A

  将1从C移动到A

  将3从B移动到C

  将1从A移动到B

  将2从A移动到C

  将1从

  转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • mysql复合索引和组合索引,mysql组合索引数据结构
  • mysql复合索引和组合索引,mysql组合索引数据结构,Mysql之组合索引方法详解
  • mysql复合索引和组合索引,mysql复合索引数据结构
  • mysql复合索引和组合索引,mysql复合索引数据结构,MySQL的复合索引总结
  • b+树 多路搜索树,数据结构中树的分类
  • b+树 多路搜索树,数据结构中树的分类,数据结构-树(三):多路搜索树B树、B+树
  • avl树的构造,avl树特性,数据结构之AVL树详解
  • 数据结构c语言哈夫曼树,c语言哈夫曼树的构造,使用C语言详解霍夫曼树数据结构
  • c语言数据结构算法编程库,数据结构 c语言中文网
  • c语言数据结构算法编程库,数据结构 c语言中文网,C语言编程数据结构基础详解小白篇
  • c++纸牌游戏,数据结构纸牌游戏c语言
  • c++纸牌游戏,数据结构纸牌游戏c语言,C语言实战之纸牌游戏
  • ,,c#解析jobject的数据结构
  • ,,javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
  • ,,Java 数据结构与算法系列精讲之背包问题
  • 留言与评论(共有 条评论)
       
    验证码: