import java.util.Random;

/**
 * Erzeugt einen "tiefen" Baum
 * 
 * @author Rainer Helfrich
 * @version Dezember 2020
 */
public class TieferBaum
{
    /**
     * Erzeugt einen "tiefen" Baum, bei dem nach rechts stets nur ein Knoten abgeht,
     * der links aber eine lange Kette bildet
     * @param tiefe Die gewünschte Tiefe
     * @return Die Wurzel des erzeugten Binärbaums
     */
    public static Binaerbaum<Integer> erzeugeTiefenBaum(int tiefe)
    {
        Random r = new Random();
        Binaerbaum<Integer> wurzel = new Binaerbaum<Integer>(r.nextInt(1000));
        Binaerbaum<Integer> k = wurzel;
        for (int i = 1; i < tiefe; i++)
        {
            k.links = new Binaerbaum<Integer>(r.nextInt(1000));
            k.rechts = new Binaerbaum<Integer>(r.nextInt(1000));
            k = k.links;
        }
        return wurzel;
    }
}
