21xrx.com
2024-12-27 20:36:05 Friday
登录
文章检索 我的文章 写文章
C++二叉树遍历完整算法
2023-07-11 19:08:22 深夜i     --     --
C++ 二叉树 遍历 完整算法

二叉树是一种基本的数据结构,具有广泛的应用场景,比如构建搜索树,实现路由协议,编写解释器等等。在二叉树的操作中,遍历是最基本的操作之一,而C++语言中又有三种遍历方式:前序遍历、中序遍历和后序遍历,下面就为大家介绍一下这三种遍历方式的完整算法。

前序遍历

前序遍历是指按照父节点->左子树->右子树顺序访问二叉树,算法思路如下:先访问根节点,然后递归遍历左子树,再递归遍历右子树。

实现代码如下:


void PreOrderTraversal(TreeNode* root) { 

  if (!root) return; 

  cout << root->val << " "; 

  PreOrderTraversal(root->left); 

  PreOrderTraversal(root->right); 

中序遍历

中序遍历是指按照左子树->父节点->右子树的顺序访问二叉树,算法思路如下:先递归遍历左子树,然后访问根节点,最后递归遍历右子树。

实现代码如下:


void InOrderTraversal(TreeNode* root) { 

  if (!root) return; 

  InOrderTraversal(root->left); 

  cout << root->val << " "; 

  InOrderTraversal(root->right); 

后序遍历

后序遍历是指按照左子树->右子树->父节点的顺序访问二叉树,算法思路如下:先递归遍历左子树,然后递归遍历右子树,最后访问根节点。

实现代码如下:


void PostOrderTraversal(TreeNode* root) { 

  if (!root) return; 

  PostOrderTraversal(root->left); 

  PostOrderTraversal(root->right); 

  cout << root->val << " "; 

这三种遍历方式是二叉树操作中最基本的操作,不同的遍历方式可以得到不同的结果。掌握了这三种遍历方式的完整算法,相信读者已经能够轻松实现二叉树的遍历操作了。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复