一种二叉树非递归遍历算法C语言实现.docVIP

  • 17
  • 0
  • 约3.07千字
  • 约 7页
  • 2017-11-13 发布于福建
  • 举报

一种二叉树非递归遍历算法C语言实现.doc

一种二叉树非递归遍历算法C语言实现

一种二叉树非递归遍历算法C语言实现   摘要:针对二叉树的链式存储结构,分析了二叉树的各种遍历算法,探讨了递归算法的递推消除问题,提出了一种改进的非递归遍历算法并用C语言予以实现。 关键词:二叉树;遍历算法;非递归;C语言实现 中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2014)01-0223-03 1 概述 树形结构是一种非常常见的数据结构,而二叉树又是其中最重要的一种树形结构。二叉树的遍历是指按照一定的规则和次序将二叉树中的每一个结点都访问一次,既不能重复,也不能漏掉。一般而言,对二叉树的遍历有前序遍历、中序遍历、后序遍历和按层遍历等几种方式。在具体的算法设计上,以上遍历方式一般采取递归算法来实现,该文将探讨采用非递归算法来实现二叉树的遍历。 2 二叉树的数据结构描述 二叉树作为一种非线性结构,每个结点最多有一个双亲结点和两个子结点。二叉树可以采用顺序存储结构和链式存储结构。对于完全二叉树而言,采用顺序存储是非常方便并且节省空间的,但是对于大部分的非完全二叉树而言,采用顺序存储将导致空间浪费严重且结构混乱、效率低下。因此,更多的时候,大家都更愿意用链式存储结构来表示二叉树,这样结构更加清晰,尤其是对于左右子树的描述和双亲节点的描述更加方便。该文中拟采用链式结构来表示二叉树。用链式存储结构来表示二叉树,一个

文档评论(0)

1亿VIP精品文档

相关文档