Jak stworzyć drzewo z węzłami mogącymi posiadać dowolną ilość węzłów-dzieci?

0

witam. Przepraszam, czy moglby mi ktos wytlumaczyc jak zrobic drzewo w pascalu, gdzie "rodzic" ma kilka "potomkow", a nie tylko dwoch, jak jest to w klasycznym drzewie BST?

0

Składnię Pascala żeby podać kod zapomniałem niestety dawno temu, ale są (co najmniej) dwie możliwości:

  • Każdy rodzic ma listę (ew. tablicę jeśli mamy ograniczenie ilości) swoich potomków (zamiast dwóch zmiennych na lewego i prawego)
  • Każdy element ma wskaźnik do pierwszego dziecka i do 'prawego' elementu (brata?)
0

@zupaaa - łatwiej by było cokolwiek doradzić, jakbyś napisał w czym to chcesz zastosować i w ogóle w jaki sposób ma być budowane drzewo w pamieci - czy na podstawie wskaźników na rekordy, czy np. z wykorzystaniem programowania obiektowego; W każdym razie, skoro każdy węzeł będzie mógł posiadać dowolną ilość węzłów potomnych, to każdy węzeł będzie musiał posiadać ich listę (w postaci zwykłej tablicy czy listy).

1
PNode=^TNode;
TNode=record
  Children:array of PNode;
  // oraz inne informacje przydatne, prócz samej listy dzieci
end;

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