Ho bisogno di creare un albero binario di ricerca nel modo seguente (strano):
Mi viene data una matrice (A [n]). A [1] diventa la radice dell'albero.
Poi, inserisco A [1] + A [2] per il sottoalbero sinistro (subtree1, utilizzato sotto) della radice e inserisco anche A [1] -A [2] per sottoalbero destro (subtree2) della radice.
Inserisco A [1] + A [2] + A [3] per sottoalbero sinistro di subtree1 (subtree3) e A [1] + A [2] -A [3] a destra sottoalbero di subtree1 (subtree4).
Poi, inserisco A [1] -A [2] + A [3] per sottoalbero sinistro di subtree2 (subtree5) e A [1] -A [2] -A [3] a destra sottoalbero di subtree2 (subtree6 ).
Ripeto per subtree3, subtree4, subtree5, subtree6 fino a raggiungere la fine della matrice.
Quindi, in sostanza, il primo elemento della matrice diventa la radice dell'albero e poi spostarsi verso il basso: ogni sottoalbero sinistro ha per valore la somma del suo genitore più il prossimo elemento della matrice e di ogni sottoalbero destro ha per il valore della differenza di suo genitore e del successivo elemento nella matrice.
Capisco che ho bisogno di utilizzare il concetto di ricorsione, ma in un modo modificata. Digitando il mio problema qui e cercando di spiegare a qualcun altro a parte il mio cervello in realtà mi ha fatto formarlo in un modo che mi ha dato alcune idee per provare, ma posso vedere il problema ho a che fare con l'essere un problema al solito quindi forse si potrebbe dare mi alcune indicazioni su come utilizzare la ricorsione per costruire l'albero.
Guardandosi intorno in altri domande e le discussioni Capisco che ci sia una politica contro chiedendo soluzioni intere così ho voluto mettere in chiaro che non sto chiedendo per la soluzione, ma per la guida ad esso. Se qualcuno vorrebbe avere uno sguardo posso mostrarvi quello che ho già fatto.













