Jeg må opprette et binært søketre i følgende (merkelig) måte:
Jeg får en gruppe (A [n]). A [1] blir roten av treet.
Da jeg innlegg A [1] + A [2] til den venstre undertreet (subtree1, anvendt nedenfor) av roten og også sette A [1] -A [2] til høyre undertreet (subtree2) av roten.
I innlegg A [1] + A [2] + A [3] til venstre undertreet til subtree1 (subtree3) og A [1] + A [2] -A [3] til høyre subtre av subtree1 (subtree4).
Da jeg innlegg A [1] -A [2] + A [3] til venstre undertreet til subtree2 (subtree5) og A [1] -A [2] -A [3] til høyre subtre av subtree2 (subtree6 ).
Jeg gjentar for subtree3, subtree4, subtree5, subtree6 til jeg kommer til enden av tabellen.
Så, i utgangspunktet, blir det første elementet i matrisen roten av treet, og da jeg flytte ned: Hver venstre subtre har for verdien summen av moder pluss neste element i matrisen og alle rett treet har for verdien forskjellen på dens forelder og av det neste element i rekken.
Jeg forstår at jeg må bruke begrepet rekursjon, men i en modifisert måte. Skrive mitt problem her og prøver å forklare det til noen andre bortsett fra hjernen min faktisk gjort meg danne det på en måte som ga meg noen ideer til å prøve, men jeg kan se problemet jeg arbeider med å være et vanlig problem så kanskje du kunne gi meg noen tips om hvordan du kan bruke rekursjon til å bygge treet.
Leter du rundt på andre spørsmål og diskusjonene jeg forstår det er en policy mot å spørre hele løsninger så jeg ønsket å gjøre det klart at jeg ber ikke om løsningen, men for veiledning til det. Hvis noen ønsker å ta en titt jeg kan vise deg hva jeg allerede har gjort.













