2301_80885763 2024-04-07 16:40 采纳率: 81.8%
浏览 2
已结题

数据结构二叉树怎么创建

t,t1,t2在创建二叉树的时候怎么赋值

img


#include <bits/stdc++.h>
using namespace std;
typedef struct slnode
{
    char data;
    slnode *lc=NULL,*rc=NULL;
}*tree;
tree creattree(char data,tree lc=NULL,tree rc=NULL)
{
    tree temp=new slnode;
    temp->data=data;
    temp->lc=lc;
    temp->rc=rc;
    return temp;
}
void print(tree rt)
{
    if(rt==NULL)
        return;
    cout<<rt->data;
    print(rt->lc);
    print(rt->rc);
}
int main()
{
    tree t1,t2,t;
    t1=creattree('G');
    t2=creattree('E',t1);
    t1=creattree('D');
    t2=creattree('B',t1,t2);
    t1=creattree('H');
    t1=creattree('F',NULL,t1);
    t1=creattree('C',t1);
    t=creattree('A',t2,t1);
    print(t);
}
  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-07 16:40
    关注

    引自免费微信小程序:皆我百晓生

    好的,我很乐意帮助您解决这个问题。根据您的描述,这里是一个基本的二叉树创建函数以及一个用于打印前序遍历的函数。

    首先,我们来看如何创建一个二叉树。在 Python 中,可以使用 class 关键字定义一个类,然后在这个类中定义二叉树节点的结构体,例如:

    class Node:
        def __init__(self, x):
            self.val = x
            self.left = None
            self.right = None
    

    接下来,我们来实现一个简单的插入操作。

    def insert(root, data):
        if root is None:
            return Node(data)
    
        if data <= root.val:
            root.left = insert(root.left, data)
        else:
            root.right = insert(root.right, data)
    
        return root
    

    然后我们来看看如何打印二叉树的前序遍历序列。

    def preOrder(root):
        if root is None:
            return []
    
        queue = [root]
        while queue:
            node = queue.pop(0)
            print(node.val, end=" ")
    
            if node.left:
                queue.append(node.left)
            if node.right:
                queue.append(node.right)
    

    以上就是您要求的所有内容。如果您有任何其他问题或需求,请随时告诉我。祝您编写愉快!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月16日
  • 已采纳回答 4月8日
  • 创建了问题 4月7日