Pages: [1]   Go Down
Print
Author Topic: compito alpha  (Read 1585 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Gpeppe69
Apprendista Forumista
**
Offline Offline

Posts: 294



« on: 08-11-2012, 19:51:47 »

Ragazzi mi sapete dire di preciso cosa vuole fatto il compito alpha ?? un albero di liste oppure una lista che contiene ogni nodo dell'albero Huh??   
Logged
Ocelot92
Apprendista Forumista
**
Offline Offline

Posts: 301



« Reply #1 on: 12-11-2012, 09:08:34 »

Hai il testo?
Logged

I'm happy to tell you all that...
((λf.λx.f(f(x))) (λy.y^2)) (5)  = 5^4

"Si ma dillo che bisogna cliccare APPLY per crearle le partizioni…" - cit. Utente dopo aver seguito un How-To... .-.
Gpeppe69
Apprendista Forumista
**
Offline Offline

Posts: 294



« Reply #2 on: 12-11-2012, 12:54:08 »

Compito Alpha

Scrivere un metodo Java che:

- Sia Ricorsivo;

- Attraversi in modo Inorder  un albero binario di ricerca;

- Costruisca al suo interno una lista concatenata semplice;

- Etichetti ciascun nodo di detta lista con l'etichetta di ciascun nodo dell'albero e col livello di quest'ultimo;
- Non utilizzare inserimento ordinato in lista;

- Restituisca della lista ordinata in maniera crescente, secondo l'ordinamento delle etichette dell'albero.
Logged
Ocelot92
Apprendista Forumista
**
Offline Offline

Posts: 301



« Reply #3 on: 13-11-2012, 18:25:08 »

Nessuno dei due. Ti chiede un metodo che attraversa un albero secondo quei requisiti e mentre lo attraversa questo METODO crei una lista concatenata semplice che rispetti la consegna. Hai un albero e devi creare una lista.
Logged

I'm happy to tell you all that...
((λf.λx.f(f(x))) (λy.y^2)) (5)  = 5^4

"Si ma dillo che bisogna cliccare APPLY per crearle le partizioni…" - cit. Utente dopo aver seguito un How-To... .-.
Gpeppe69
Apprendista Forumista
**
Offline Offline

Posts: 294



« Reply #4 on: 13-11-2012, 19:04:14 »

grazie ma il metodo ricorsivo qual'è Huh??
Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #5 on: 13-11-2012, 19:07:50 »

Se non ti è data la possibilità di creare un secondo metodo non ricorsivo che sappia richiamare il primo (ricorsivo) con opportuni parametri, allora risulta evidente che il metodo (unico) ricorsivo, che dovrai creare tu, dovrà accettare un puntatore a nodo fra i suoi argomenti, e tale nodo rappresenterà la radice di un sotto-albero dell'albero originale a cui applicare il metodo di volta in volta...
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Gpeppe69
Apprendista Forumista
**
Offline Offline

Posts: 294



« Reply #6 on: 13-11-2012, 19:16:06 »

quindi devo fare l'inoder ricorsivo di un albero binario e devo caricare ogni elemento in un lista secondo l'inorder, tutto in un solo metodo o sbaglio Huh? comunque non possiamo usare altri metodi 
Logged
Ocelot92
Apprendista Forumista
**
Offline Offline

Posts: 301



« Reply #7 on: 14-11-2012, 11:30:26 »

Tutto in un solo metodo, esatto. Quindi quello ricorsivo è l'unico metodo che devi scrivere...
Logged

I'm happy to tell you all that...
((λf.λx.f(f(x))) (λy.y^2)) (5)  = 5^4

"Si ma dillo che bisogna cliccare APPLY per crearle le partizioni…" - cit. Utente dopo aver seguito un How-To... .-.
Cerberus
Matricola
*
Offline Offline

Posts: 41


« Reply #8 on: 14-11-2012, 17:59:20 »

Provo a risponderti io in modo piu eusastivo possibile..

Code:
public void inorder(BSTNodo p,int liv,Lista l) {
if (p!= null) {
    inorder(p.left,liv+1,l);
l.insertTailLevel(p.key,liv);
    inorder(p.right,liv+1,l);
}
}

Il testo sembra complesso, ma l'esercizio non è altro che questo piccolo metodo. Come ben saprai attraversando l'albero in inOrder gli elementi (int in questo caso) risulterano gia ordinati in maniera crescente. Quindi basta inserire ogni volta in coda l'elemento (se inseriresti in testa sarebbe una lista DECRESCENTE invece)
Logged
Gpeppe69
Apprendista Forumista
**
Offline Offline

Posts: 294



« Reply #9 on: 14-11-2012, 18:08:20 »

grazie per l'intervento ma già ho fatto tutto proprio come hai scritto tu, avevo già capito come fare ma mi sentivo insicuro  grazie mille
Logged
leovinci
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 251



« Reply #10 on: 15-11-2012, 10:40:57 »

Cerberus non ho capito come implementare il metodo l.insertTailLevel() e cosa poi dobbiamo mettere nel main quando chiamo il metodo albero.inorder() dato che poi mi chiede 3 parametri che sono un nodo che è il nodo dell'albero di imput, e poi un intero e una lista, cosa mettiamo?
grazie 
Logged

Più dici cose stupide,più gente ti rispetta...Più parli con la testa,più gente và di fretta.
Gpeppe69
Apprendista Forumista
**
Offline Offline

Posts: 294



« Reply #11 on: 15-11-2012, 11:59:17 »

dal main quando chiami l'inorder, se ad asempio hai classe albero a=new albero() dal main chiami a.inorder(a.root);

così passi la radice al metodo  per quanto riguarda la lista io non ho fatto così,ho implementato la lista che è sempre dentro la classe albero però come variabile d'istanza ho dichiarato protected List l=new List(); ovviamente tutto dentro la classe albero, quindi dentro l'inorder richiamo l.metodo()...... e passo i valori dentro la lista 


cpt Huh??
Logged
Pages: [1]   Go Up
Print
Jump to: