Drzewo bst doświadczenia

D4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

witam,

jak robi się doświadczenia na drzewach bst mam zadanie do wykonania:

zbadać doświadczalnie średnią wysokość drzew BST budowanych z losowych elementów.

Dodatkowo sprawdzić średni czas wykonania operacji wstawiania, poszukiwania i usuwania

elementów z drzewa. Doświadczenia przeprowadzić dla drzew o różnej ilości elementów (np.

od 10^4 do 10^6 z krokiem 10^4) i liczb losowanych ze zbiorów o mocy (ilości

elementów):10^9, 1000, 10, 2

Czy muszę rysować te drzewa czy podstawiać jakieś wartości do pseudokodu ?

to moje pierwsze spotkanie z bst oglądałem rożne tutoriale itp ale wiem tylko że wartości mniejsze są po lewej a większe po prawej
byłbym wdzięczny za przykład

SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1452
2

Algorytm:

  1. Dla każdych warunków testowych (ilość elementów, zbiór elementów)
    1. Wykonaj n prób
      1. Wylosuj elementy
      2. Wstaw do drzewa
      3. Policz wysokość
    2. Policz średnią wysokość

Wstawianie do drzewa i liczenie wysokości to konieczna wiedza do wykonania tego zadania (w tym zdefiniowanie odpowiedniej struktury drzewa binarnego). Od tego zacznij.

D4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

czyli chodzi o coś takiego?
1 drzewo (10, 1-50)
losuje 10 elementów-------------- powiedzmy ( 5,15,21,16,14,25,40,37,32,48) czy jest jakiś algorytm losowania czy po prostu mogę sam wybrać losowe liczby?
wstawiam do drzewa --------------- mam te drzewo narysować i je wstawić czy użyć jakiegoś kodu i podstawić te liczby?
liczę wysokość ------------------- jak dobrze rozumiem w zależności jak będzie narysowane drzewo może mieć różną wysokość

tworzę powiedzmy 4 takie drzewa i wyliczam średnią wysokość suma wysokości / liczba drzew

SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1452
0
dark41 napisał(a):

losuje 10 elementów-------------- powiedzmy ( 5,15,21,16,14,25,40,37,32,48) czy jest jakiś algorytm losowania czy po prostu mogę sam wybrać losowe liczby?

https://docs.microsoft.com/pl-pl/dotnet/api/system.random.next?view=net-5.0

wstawiam do drzewa --------------- mam te drzewo narysować i je wstawić czy użyć jakiegoś kodu i podstawić te liczby?

Jakie rysowanie...? Żadnego rysowania. Nigdzie. Wstawiasz elementy do struktury, generując odpowiednie drzewo na podstawie wylosowanych liczb.

wstawiam do drzewa --------------- mam te drzewo narysować i je wstawić czy użyć jakiegoś kodu i podstawić te liczby?

Wysokość drzewa to max(wysokość lewego poddrzewa, wysokość prawego poddrzewa) + 1. Żadnego rysowania.

D4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

czyli w tym wszystkim chodzi o to aby napisać algorytm w pseudokodzie lub jakimś języku programowania losujący liczbę wstawiający ją do drzewa itd

SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1452
0

Jakim pseudokodzie? Jesteś pseudostudentem czy pseudoprogramistą? Jeszcze w tagi dałeś C#.

Na moje to możesz nawet na kartce rysować te BST z milionem elementów, a losować je maszyną losującą z lotto, ale pomyśl ile w tym sensu.

D4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

po prostu pytam bo to dla mnie nowość w wykładach które dostałem były tylko przykładowe drzewa i algorytmy wstawiania usuwania z drzewa itp

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.