注册 登录
编程论坛 数据结构与算法

二叉树的建立(二叉链表)与前序遍历

康明贤 发布于 2018-05-27 11:19, 3155 次点击

建立二叉树的二叉链表存储结构

Time Limit: 3000ms, Memory Limit: 10000KB , Accepted: 251, Total Submissions: 417
Description

用大写字母标识二叉树结点。试编写递归程序,建立相应的二叉树的二叉链表存储结构

建立相应二叉树的二成叉链表存储结构,并先序遍历输出。

    Sample Input

A(B(#,D),C(E(#,F),#))

    Sample Output

AB#DCE#F#



[此贴子已经被作者于2018-5-27 11:44编辑过]

10 回复
#2
林月儿2018-05-27 11:24
这是?
#3
康明贤2018-05-27 11:42
回复 2楼 林月儿
数据结构的作业,打了好多天了,哭唧唧
#4
林月儿2018-05-27 13:18
程序代码:
public class Untitled {
    //A(B(#,D),C(E(#,F),#))
   
//AB#DCE#F#
    public static void main(String[] args) {
        Node root = new Node("A");
        root.lchild= new Node("B");
        Node node = root.lchild;
        node.lchild = new Node("#");
        node.rchild = new Node("D");
        root.rchild= new Node("C");
        node = root.rchild;
        node.lchild = new Node("E");
        node.rchild = new Node("#");
        node = node.lchild;
        node.lchild = new Node("#");   
        node.rchild = new Node("F");        
        fDisplay(root);
    }
    public static void fDisplay(Node node){
        if(node!=null){
            System.out.printf("%s",node.name);
            fDisplay(node.lchild);
            fDisplay(node.rchild);
        }
    }
        
}
class Node{
    String name;
    Node lchild;
    Node rchild;
    public Node(String name){
        this.name = name;
    }
}
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2018-5-27 13:19编辑过]

#5
康明贤2018-05-27 13:32
回复 4楼 林月儿
多谢学姐,但是我不会用java
#6
林月儿2018-05-27 13:37
回复 5楼 康明贤
那你用的啥?我查查api
#7
康明贤2018-05-27 13:41
回复 6楼 林月儿
codeblocks
#8
林月儿2018-05-27 13:49
回复 7楼 康明贤
c?
#9
康明贤2018-05-27 13:50
回复 8楼 林月儿
C语言
#10
林月儿2018-05-27 14:00
程序代码:
#include <stdio.h>
#include <malloc.h>
#include <string.h>
typedef struct Node{
    struct Node *lchild;
    struct Node *rchild;
    char name[20];
}Node;
void fDisplay(Node *node){
    if(node!=NULL){
        printf("%s",node->name);
        fDisplay(node->lchild);
        fDisplay(node->rchild);
    }
}
Node* newNode(char name[]){
    Node *node = (Node*)malloc(sizeof(Node));
    strcpy(node->name,name);
    return node;
}

int main () {   
    //A(B(#,D),C(E(#,F),#))
   
//AB#DCE#F#
    Node *root = newNode("A");
    root->lchild= newNode("B");
    Node *node = root->lchild;
    node->lchild = newNode("#");
    node->rchild = newNode("D");
    root->rchild= newNode("C");
    node = root->rchild;
    node->lchild = newNode("E");
    node->rchild = newNode("#");
    node = node->lchild;
    node->lchild = newNode("#");   
    node->rchild = newNode("F");        
    fDisplay(root);
    return 0;
}
#11
康明贤2018-05-27 14:07
谢谢学姐,我自己打打试试。
1