1. 首页
  2. 数据库
  3. 其它
  4. 深入理解二叉树的非递归遍历

深入理解二叉树的非递归遍历

上传者: 2021-01-03 19:16:15上传 PDF文件 67.77KB 热度 14次
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。1.递归实现 代码如下:void preOrder1(BinTree *root) //递归前序遍历 { if(root!=NULL) {
用户评论