JAVA: alberi binari

Qui sto cercando di fare pratica alberi binari in modo che io possa fare diverse operazioni.

import java.util.*;
import java.lang.*;


public class Main {

public static void main(String[] args) {

}
}

//Building Binary Trees
class bTree {

static class Node { //remember to initilize a root

    String value;
    Node left, right;

    Node(String value, Node left, Node right) {
        this.value = value;
        this.left = left;
        this.right = right;
    }
    Node(String value) //THIS IS A SIBLING CONSTRUCTOR
    {
        this(value, null, null);
    }

    Node root = new Node("ROOT");
    Node lefty = new Node("LEFT0");
    Node righty = new Node("RIGHT0");
    root.left = lefty;
    root.right = righty;
}
Node root = null;
}

Perché ricevo l’errore: previsto Identificatore alla radice.a sinistra e la radice.diritto di assegnazione?

Grazie!

OriginaleL’autore Samuel French | 2012-03-10

One Reply
  1. 3

    Le istruzioni di assegnazione

    root.left = lefty;
    root.right = righty;

    non sono ammessi, a livello di classe. È possibile ottenere l’effetto desiderato modificando questa riga

    Node root = new Node("ROOT");

    per questo

    Node root = new Node("ROOT", lefty, righty);

    che prende un vantaggio di tre-argomento del costruttore.

    Tuttavia, si potrebbe voler riconsiderare il posizionamento di root, lefty e righty. Essi sono probabilmente destinati in bTree classe. Inoltre, c’è una convenzione che incoraggia denominazione classe di capitalizzare la prima lettera di ogni parola, ad esempio BinaryTree.

    bello il debug. +1 per una risposta più rapida.
    Quindi non capisco poi. Come posso modificare un nodo a destra e a sinistra le proprietà di tutto il programma?? EDIT: Nevermind, ho capito!

    OriginaleL’autore

Lascia un commento