Metoda Rekursywna czy Rekurencyjna oraz Struktura Drzewa

0

Witam,

Borykam się z problemem utworzenia metody rekursywnej, która po wpisaniu argumentów utworzy mi strukturę drzewa. Drzewo ma wyglądać w ten sposób, że jest kolekcja do której będą dodane dwie kolekcje i przy każdym zapętleniu ma dodawać kolejne dwie kolekcje do każdej poprzedniej. Nie wiem jak to zrobić czy na listach czy na tablicach, jak ma wyglądać warunek? Prośba o wsparcie.

title

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

namespace AplikacjaPraca
{
    class Rekurencja2
    {
        private Random losowaLiczba = new Random();

        private ArrayList lista = new ArrayList();
        public int Drzewo(int liczbaZaglebien=3, int liczbaGalezi=2)
        {
            int liczba = 0;
            ArrayList kolejnaLista = new ArrayList();
            var zbior = new int[liczbaGalezi];
            if (liczbaZaglebien == 0)
            {

                foreach (var l in lista)
                {
                    Console.WriteLine(l);
                };
                return 1;
            }

            if (lista.Count <= 2)
            {
                lista.Add(zbior);
            }

            foreach (var z in zbior)
            {
                zbior[liczba] = losowaLiczba.Next(1, 5);
                liczba++;
                Console.WriteLine(zbior[liczba - 1]);
            }


            return Drzewo(liczbaZaglebien - 1);
        }
    }
}
0
static void Main(string[] args)
        {
            ArrayList lista = new ArrayList();

            lista.AddRange(GenerateChildItem(3, 2));
        }

        private static ICollection GenerateChildItem(int level, int child)
        {
            var result = new List<ArrayList>();
            for (var i = 0; i < child; i++)
            {
                var childList = new ArrayList();

                if (level > 0)
                    childList.AddRange(GenerateChildItem(level - 1, child));

                result.Add(childList);
            }

            return result;
        }
 

Tak to widzę :)

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