二叉树的遍历和应用.pptVIP

  • 7
  • 0
  • 约1.05万字
  • 约 56页
  • 2017-05-30 发布于四川
  • 举报
预备知识—递归 什么是递归? 递归是极强大的问题解决技术。 当一个函数用它自己来定义时就是递归。 递归将一个复杂问题分解为一些更小的问题。 举例:查词典 顺序查找:可以从词典第一页开始,按顺序查找每个单词,直到找到。 递归解决方案 :分而治之的策略;把问题划分成小问题,直到到达基例。 递归解决方案的一般形式 怎样按同类型的更小的问题来定义问题 各个递归调用怎么减小问题规模 哪个问题实例可用做基例 随着问题规模的减小,最终能否到达基例 举例1:n的阶乘 举例2:逆置字符串 举例3:Hanoi塔 举例4:兔子繁殖(递归法) 举例4:兔子繁殖(迭代法) 二叉树的遍历 层次遍历 首先创建一个队列;若二叉树非空,将根放入队列; 从队列取出一个元素并访问,如果该元素有左孩子就将它放入队列,如果该元素有右孩子就将它放入队列; 若队列非空,继续第2步,直至队列为空,则二叉树的层次遍历过程结束。 课堂练习 已知二叉树的前序和中序周游序列如下, 画出该二叉树。 前序周游序列: ABCDEFGHIJ 中序周游序列: CBEDAGHFJI 课堂练习 已知二叉树的后序和中序周游序列如下, 画出该二叉树。 后序周游序列: ABCDEFG 中序周游序列: ACBGEDF 课堂练习 画出中序周游序列为ABCDEFGHIJKL的完全二叉树

文档评论(0)

1亿VIP精品文档

相关文档