Losowe drzewo binarne

0

Napisz klasę realizującą losowe drzewo binarne RBT.
Klasa powinna umożliwiać przeglądanie drzewa,
dopisywanie do niego losowych wartości (parametry N, p,
MAX), wyszukiwanie elementu oraz usuwanie drzewa.

KOD:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{

   public class liść_drzewa//Początek klasy
   {
    public double Wartość;
    public liść_drzewa lewy;
    public liść_drzewa prawy;
    public liść_drzewa(double x)
        {
        Wartość = x;
        lewy = null;
        prawy = null;
        }
   


    public void preorder()//Pierwsza metoda
        {
        Console.WriteLine(Wartość);
        if(lewy != null) lewy.preorder();
        if(prawy != null) prawy.preorder();
        }


    public void inorder()//Druga metoda
        {
        if(lewy != null) lewy.inorder();
        Console.WriteLine(Wartość);
        if(prawy != null) prawy.inorder();
        }


    public void postorder()//trzecia metoda
        {       
        if(lewy != null) lewy.postorder();
        if(prawy != null) prawy.postorder();
        Console.WriteLine(Wartość);
        }

 

    public bool czy_jest(double x)
    {
    bool wynik;
    wynik = false;
    if(x == Wartość) wynik = true; else
        {
        if(lewy != null) wynik = lewy.czy_jest(x);
        if(wynik == false)
        if(prawy != null) wynik = prawy.czy_jest(x);
        }
        return wynik;
    }   
   


 
    public void dopiszRBT(double p, double Max, Random Generator)
    {
    double pomoc;
    double wart;
    pomoc = Generator.NextDouble();
    wart = Max * Generator.NextDouble();
    if(pomoc <= p)
        {
        if(lewy != null) lewy.dopiszRBT(p,Max,Generator); else lewy = new liść_drzewa(wart);
        }
        else
        {
        if(prawy != null) prawy.dopiszRBT(p,Max,Generator); else prawy = new liść_drzewa(wart);
        }
    }
  }//koniec klasy





    class Program
    {
        
        static void Main(string[] args)
        {
            public liść_drzewa Korzeń;
            Korzeń = null;
        //tworzenie korzenia 
        //operacje na drzewie


            Korzeń.usuń_drzewo();
            Korzeń = null;
        }
    }

napisałem klasy przy pomocy nauczyciela a teraz proszę o pomoc w postaci podpowiedzi jak napisać prawidłowo odwołania bo z tym zawsze mam największe problemy.

Z góry dziękuję za sugestie.

0

Jestem trochę zielony w tym z pomocą nauczyciela napisałem te klasy ale ale brakuje mi prawidłowych odwołań. Nie licze na gotowy kod a przynajmniej na jakąś wskazówkę

Ktokolwiek?

1 użytkowników online, w tym zalogowanych: 0, gości: 1