05(数据结构考研)树相关操作代码

简介: 05(数据结构考研)树相关操作代码

❤️ 先序遍历❤️

//先序遍历
void PreOrder(BiTree T){
    if(T!=null){
        visit(T);//访问根结点
        PreOrder(T->lchild);//遍历左子树
        PreOrder(T->rchild);//遍历右子树
    }
}

❤️ 中序遍历❤️

//中序遍历
void PreOrder(BiTree T){
    if(T!=null){
        PreOrder(T->lchild);//遍历左子树
         visit(T);//访问根结点
        PreOrder(T->rchild);//遍历右子树
    }
}

❤️ 后序遍历❤️

//中序遍历
void PreOrder(BiTree T){
    if(T!=null){
        PreOrder(T->lchild);//遍历左子树
        PreOrder(T->rchild);//遍历右子树
        visit(T);//访问根结点
    }
}

❤️ 层序遍历❤️

//二叉树的结点
typedef struct BiTNode{
    char data;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
//链式队列的存储
typedef struct LinkNode{
    BiTNode *data;
    struct LinkNode *next;
}LinkNode;
//层序遍历
void LevelOrder(BiTree T){
    LinkQueue Q;
    InitQueue(Q);//初始化辅助队列
    BiTree p;
    EnQueue(Q,T);//将根结点入队
    while (!IsEmpty(Q)){//队列不为空的则循环
        DeQueue(Q,p);//队头结点出队
        visit(p);//访问出队结点
        if(p->lchild!=NULL)
            EnQueue(Q,p->lchild);//左孩子入队
       if (p->rchild!=NULL)
           EnQueue(Q,p->rchild);//右孩子入队
    }
}


目录
相关文章
|
2天前
|
存储 算法 关系型数据库
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
这篇文章主要介绍了多路查找树的基本概念,包括二叉树的局限性、多叉树的优化、B树及其变体(如2-3树、B+树、B*树)的特点和应用,旨在帮助读者理解这些数据结构在文件系统和数据库系统中的重要性和效率。
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
|
2天前
|
存储 算法
数据结构与算法学习十六:树的知识、二叉树、二叉树的遍历(前序、中序、后序、层次)、二叉树的查找(前序、中序、后序、层次)、二叉树的删除
这篇文章主要介绍了树和二叉树的基础知识,包括树的存储方式、二叉树的定义、遍历方法(前序、中序、后序、层次遍历),以及二叉树的查找和删除操作。
|
4天前
|
算法
04(数据结构考研)串相关操作代码
04(数据结构考研)串相关操作代码
9 0
|
9天前
|
存储 算法 搜索推荐
探索常见数据结构:数组、链表、栈、队列、树和图
探索常见数据结构:数组、链表、栈、队列、树和图
82 64
|
2天前
|
算法 程序员 索引
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
栈的基本概念、应用场景以及如何使用数组和单链表模拟栈,并展示了如何利用栈和中缀表达式实现一个综合计算器。
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
|
2天前
初步认识栈和队列
初步认识栈和队列
20 10
|
18天前
|
算法 安全 测试技术
golang 栈数据结构的实现和应用
本文详细介绍了“栈”这一数据结构的特点,并用Golang实现栈。栈是一种FILO(First In Last Out,即先进后出或后进先出)的数据结构。文章展示了如何用slice和链表来实现栈,并通过golang benchmark测试了二者的性能差异。此外,还提供了几个使用栈结构解决的实际算法问题示例,如有效的括号匹配等。
golang 栈数据结构的实现和应用
|
2天前
|
算法
数据结构与算法二:栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式
这篇文章讲解了栈的基本概念及其应用,并详细介绍了中缀表达式转换为后缀表达式的算法和实现步骤。
14 3
|
19小时前
|
存储 JavaScript 前端开发
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
12 1