首页 > 其他分享 >二叉树的遍历

二叉树的遍历

时间:2024-09-02 10:15:27浏览次数:12  
标签:遍历 TreeNode BT 二叉树 new 节点

先序遍历

using namespace std;

// 定义二叉树节点结构体
struct TreeNode {
    char Data;           // 节点的数据
    TreeNode* left;      // 左子节点
    TreeNode* right;     // 右子节点

    // 构造函数
    TreeNode(char data, TreeNode* leftChild = nullptr, TreeNode* rightChild = nullptr)
        : Data(data), left(leftChild), right(rightChild) {}
};

// 预定义的二叉树节点类型
typedef TreeNode* BiTree;

// 前序遍历函数
void PreOrder(BiTree BT) {
    if (BT) {
        cout << BT->Data;  // 打印节点的数据
        PreOrder(BT->left);  // 递归遍历左子树
        PreOrder(BT->right); // 递归遍历右子树
    }
}

// 主函数
int main() {
    // 创建一个示例二叉树
    TreeNode* root = new TreeNode('A',
        new TreeNode('B',
            new TreeNode('D'),
            new TreeNode('E')),
        new TreeNode('C',
            nullptr,
            new TreeNode('F')));

    // 前序遍历
    PreOrder(root);
    cout << endl;

    // 释放内存
    // 请注意:在实际应用中,应该释放所有分配的内存,这里为了简化代码没有进行内存释放

    return 0;
}

标签:遍历,TreeNode,BT,二叉树,new,节点
From: https://www.cnblogs.com/windzhao6/p/18392244

相关文章

  • Go平衡二叉树
    packagemainimport("fmt")typeAVLNodestruct{dataintheightintleft,right*AVLNode}funcmax(a,bint)int{ifa>b{returna}returnb}funcheight(p*AVLNode)int{ifp!=nil{......
  • 排序算法之二叉树排序详细解读(附带Java代码解读)
    二叉树排序(BinaryTreeSort)是一种基于二叉搜索树(BinarySearchTree,BST)实现的排序算法。它的基本思想是利用二叉搜索树的性质来实现排序,通过将元素插入到二叉搜索树中,然后对树进行中序遍历来获取排序后的元素。基本概念二叉搜索树(BST):对于二叉搜索树中的每一个节点,其左......
  • 二叉树的直径(LeetCode)
    题目给你一棵二叉树的根节点,返回该树的 直径 。二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。两节点之间路径的 长度 由它们之间边数表示。解题classTreeNode:def__init__(self,val=0,left=......
  • Prop效验与Prop默认值用法及循环遍历数组
    Prop效验与使用在HBuilderX里面你把组件传过去,向之前的那样的写法是没有默认值的,写了才有值,否则为空,所以我们可以用另一种方法,写法如下虽然这样写了但是不是完全体的,我们可以给他定个默认值和类型,就像那个String一样,可以约束对象只能是这个的类型这样子另一个页面......
  • php遍历文件夹以及子目录;
    php遍历文件夹以及子目录<?phpfunctionmy_dir($folderPath){ $arr_subdictory=array(); if(@$handle=opendir($folderPath)){ while(false!==($entry=readdir($handle))){ if($entry!="."&&$entry!=".."){//排除更目录 ......
  • 代码随想录刷题day13丨二叉树理论基础,递归遍历,迭代遍历,统一迭代,层序遍历
    代码随想录刷题day13丨二叉树理论基础,递归遍历,迭代遍历,统一迭代,层序遍历1.二叉树理论基础1.1二叉树种类满二叉树概述:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节......
  • 【数据结构】二叉树基础(带你了解二叉树)
     ......
  • computed计算属性及方法对比和循环遍历统计以及watch和watchEect监听的用法
    1.computed计算属性及方法对比1.了解computed计算属性和用法在我们的一些应用中可以看的应用会给我们提供一些计算类的功能比如取名,它会给你提供两个输入框,然后在你给这两个输入框输入值的时候会在下方生成你输入这个两个值的结合值,就比如你先输入了一个姓氏,然后输入一个名,下......
  • Python 数据结构——二叉树(最最最最最实用的二叉树教程)
    本文章以实用为主,所以不多废话直接开整本文所介绍的二叉树是最基础的二叉树,不是二叉搜索树,也不是平衡二叉树,就基本的二叉树二叉树的创建基本二叉树的创建其实比链表还要简单,只需创建一个节点的类即可,随后用指针将其串起来。不同于链表的是,二叉树为一个父节点连接到两个子节......
  • 对称二叉树-101
    题目描述给你一个二叉树的根节点root,检查它是否轴对称。解题思路这里我们相当于是比较根节点左右两颗子树,我们依次向左右子树的左右两个方向进行遍历,我们比较左子树的左孩子和右子树的右孩子,左子树的右孩子和右子树的左孩子,这里如果不好理解可以看下面这个图片,如果两个子节......