当前位置: 首页 > news >正文

二叉树的遍历及创建

typedef char T;struct TreeNode
{T _data;TreeNode* left;TreeNode* right;
};

         1、二叉树的遍历---DFS

                                                      3

                                         5                       6

                                   1          #            8       # 

                               4      7                  #  #

                             #  #  2   #

                                    # #

 

1、1前序遍历(PreOrder)---DFS

        前序遍历,即根-左子树-右子树,左右子树又分为根-左子树-右子树

void PreOrder(TreeNode* root)
{if (root == NULL)return;cout << root->_data << " ";PreOrder(root->left);PreOrder(root->right);
}

3 5 1 4 7 2 6 8

1、2中序遍历(MidOrder)---DFS

        中序遍历,即左子树-根-右子树,左右子树又分为左子树-根-右子树

void MidOrder(TreeNode* root)
{if (root == NULL)return;MidOrder(root->left);cout << root->_data << " ";MidOrder(root->right);
}

4 1 2 7 5 3 8 6

         1、3后序遍历(PostOrder)---DFS

    中序遍历,即左子树-右子树-根,左右子树又分为左子树-右子树-根

void PostOrder(TreeNode* root)
{if (root == NULL)return;PostOrder(root->left);PostOrder(root->right);cout << root->_data << " ";
}
http://www.lryc.cn/news/297809.html

相关文章:

  • 图形学:Transform矩阵(3维 2维) 平移,旋转,缩放
  • Docker学习历程
  • Android:Volley框架使用
  • 前端修炼手册(uniapp的api篇)
  • JAVA面试题16
  • P1044 [NOIP2003 普及组] 栈题解
  • 【DSP】数字信号处理发展里程碑(AI【文心一言】 辅助生成)
  • 【JavaScript 】finally() 方法和Filter() 方法
  • 假期作业8
  • 基于vue+node.js的校园跳蚤市场系统多商家
  • Linux操作系统基础(六):Linux常见命令(一)
  • 【Android-Compose】Material3 新版下拉刷新 PullRefresh
  • FANUC机器人外部远程启动的相关参数设置示例
  • 供货商、品牌方、供应链如何对接快团团头部大团长?这三个关键点你一定要记住
  • LLMs之Llama2 70B:《Self-Rewarding Language Models自我奖励语言模型》翻译与解读
  • 电商小程序06用户审核
  • vue3跨组件(多组件)通信:事件总线【Event Bus】
  • 教材管理系统
  • PV、UV、IP
  • ZigBee学习——在官方例程上实现串口通信
  • nginx添加lua模块
  • Csapp-chapter3-压栈和弹栈
  • Rust入门1——HelloWorld
  • android中使用Bitmp对象绘制图形
  • Linux操作系统基础(八):Linux的vi/vim编辑器
  • nginx限制网段访问
  • Linux开机自动执行自定义脚本或命令
  • 【Linux】 网络编程套接字
  • MATLAB矩阵的操作(第二部分)
  • 基础面试题整理6之Redis