|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2009
Città: Cosenza
Messaggi: 43
|
[C++] esercizio alberi
Ciao a tutti! :-)
Qualcuno mi può dare una mano per risolvere qst esercizio sugli alberi? Ho proprio difficoltà con questi esercizi Codice:
Dato un albero binario A di numeri interi positivi,
scrivere un programma C++ che determini e
stampi quale tra le tre visite: anticipata,
posticipata ed infissa consentirebbe di stampare
il maggior numero di
nodi secondo la seguente regola:
stampare un valore solo se è il primo o se
è maggiore dell’ultimo stampato precedentemente.
A(albero binario)
2
6 7
4 9 8 3
7 9
Esempio: dato l’albero A sopra raffigurato,
le stampe consentite dalle tre visite sarebbero:
anticipata: 2, 6, 7, 8, 9
posticipata: 4, 5, 6, 7, 8, 9
infissa: 4, 6, 7, 8, 9
quindi la funzione deve restituire: posticipata
N.B. l’output della funzione deve essere solo
il risultato relativo alla visita, non la stampa dei nodi
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Dubito che qualcuno ti aiuterà se non cominci a buttar giù un po' di codice
__________________
Il sole è giallo |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2009
Città: Cosenza
Messaggi: 43
|
Nell'altra discussione ho buttato giù il mio codice e nessuno mi ha risp!!!
Sono nuova del forum e ancora nn so nemmeno se sn chiara a spiegare gli esercizi |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
La spiegazione dell'esercizio è chiara, ora prova a postare quello che hai fatto.
Ti ricordo che da regolamento è vietato svolgere esercizi per intero
__________________
Il sole è giallo |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Dovresti perlomeno dire cosa non ti torna. L'esercizio, la teoria...
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Sì, lasciando perdere per un momento il codice sorgente, prova a spiegare a parole tue i singoli passi da compiere per risolvere il problema, così è più facile aiutarti
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Nov 2009
Città: Cosenza
Messaggi: 43
|
Allora!
Io vorrei visitare l'albero con le tre visite e mettere l'elenco da qualche parte, un vettore, una lista.. Dopo di che vorrei applicare la regola che mi chiede e tenere solo i nodi che riesco a visitare in base a quella regola... poi restituire il nome delle visita che ha più nodi visitati. A parole riesco, ma quando inizio a scrivere il codice mi perdo... mi manca un pò di teoria..
|
|
|
|
|
|
#8 | |||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
- scrivere una funzione che, compiendo una visita inorder (infissa) di un albero produca in output l'array degli elementi così incontrati; - scrivere una funzione che, compiendo una visita postorder (posticipata) di un albero produca in output l'array degli elementi così incontrati; - scrivere una funzione che, compiendo una visita preorder (anticipata) di un albero produca in output l'array degli elementi così incontrati; In questo modo hai i tre array degli elementi incontrati in ordine secondo ciascun metodo di visita dell'albero. Quote:
è maggiore dell’ultimo stampato precedentemente" che banalmente implica un ordine crescente sugli elementi da considerare nell'array. Quindi una funzione che preso in input un array, restituisca un intero indicante il numero di elementi presenti nell'array, a partire dal primo e proseguendo con i successivi, che rispettano la relazione d'ordine. Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:20.




















