Dom 18 Agosto, 07:24:56 - 2019

Autore Topic: Nuova modalità esame  (Letto 9909 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Riettez23

  • Studente
  • *
  • Post: 7
  • FeedBack: +1/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #75 il: Dom 04 Giugno, 14:12:12 - 2017 »
Perché facendo appunto preorder arrivi fino a sinistra in basso all'inizio, e quindi risalendo (per poter costruire anche la parte destra) devi decrementare il livello altrimenti ti fermi subito nell if
-Se puoi sognarlo, puoi farlo-

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #76 il: Dom 04 Giugno, 14:16:55 - 2017 »
Perché facendo appunto preorder arrivi fino a sinistra in basso all'inizio, e quindi risalendo (per poter costruire anche la parte destra) devi decrementare il livello altrimenti ti fermi subito nell if
Ah okay ora capisco. Grazie mille del tuo aiuto

Offline Riettez23

  • Studente
  • *
  • Post: 7
  • FeedBack: +1/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #77 il: Dom 04 Giugno, 14:22:25 - 2017 »
Ah okay ora capisco. Grazie mille del tuo aiuto

Di nulla, fammi sapere se ti funziona  :) Per caso sai se il prof abbia dato altro materiale simile? Perché altrimenti mi tocca scrivere il codice di test a manina per esercitarmi sugli altri testi  :-\
-Se puoi sognarlo, puoi farlo-

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #78 il: Dom 04 Giugno, 14:34:47 - 2017 »
Di nulla, fammi sapere se ti funziona  :) Per caso sai se il prof abbia dato altro materiale simile? Perché altrimenti mi tocca scrivere il codice di test a manina per esercitarmi sugli altri testi  :-\
Non ha dato altro materiale per esercitarsi.

Offline john

  • Neo-Laureato
  • **
  • Post: 68
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #79 il: Dom 04 Giugno, 14:37:47 - 2017 »
Nel vecchio sito c'è scritto che anche il vecchio ordinamento deve prenotarsi tramite google form : http://www.dis.uniroma1.it/%7Efiii/esame.html

Grazie mille, non l'avevo visto.

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #80 il: Dom 04 Giugno, 17:04:19 - 2017 »
Di nulla, fammi sapere se ti funziona  :) Per caso sai se il prof abbia dato altro materiale simile? Perché altrimenti mi tocca scrivere il codice di test a manina per esercitarmi sugli altri testi  :-\
ho provato a far funzionare il codice che hai scritto, ma fino a level = 2 funziona. Quando faccio su level=3 da errore e crea problemi.Sicuramente sono io che non riesco ad adattare la tua soluzione alla struttura del codice della simulazione di esame.
« Ultima modifica: Dom 04 Giugno, 18:01:39 - 2017 da scheggia89 »

Offline Riettez23

  • Studente
  • *
  • Post: 7
  • FeedBack: +1/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #81 il: Dom 04 Giugno, 19:53:21 - 2017 »
ho provato a far funzionare il codice che hai scritto, ma fino a level = 2 funziona. Quando faccio su level=3 da errore e crea problemi.Sicuramente sono io che non riesco ad adattare la tua soluzione alla struttura del codice della simulazione di esame.

Codice: [Seleziona]
unsigned int countNodes(binTree* t)
{
    if (t == NULL)
return (0);

    return (1 + countNodes(t->left) + countNodes(t->right));
}

boolean isCompleteAux(binTree *t, unsigned int count, unsigned int numberOfNodes)
{
    if(t == NULL)
    {
        if(numberOfNodes != 2)
    return TRUE;

return FALSE;
    }

    if(count >= numberOfNodes)
return FALSE;

    return(isCompleteAux(t->left, 2*count + 1, numberOfNodes) && isCompleteAux(t->right, 2*count + 2, numberOfNodes));
   
}

boolean isComplete(binTree *t)
{
    unsigned int numberOfNodes = countNodes(t);
    return isCompleteAux(t, 0, numberOfNodes);
}

Guarda questo è il mio codice per quanto riguarda l'esercizio 1. A me richiamando questa "isComplete" funge  ??? Comunque ci può stare che ho sbagliato.

Con questi test:
Codice: [Seleziona]
    nc_t1 = buildNonCompleteTree1();
    nc_t2 = buildNonCompleteTree2();
    nc_t3 = buildNonCompleteTree3();
    nc_t4 = buildNonCompleteTree4();
    nc_t5 = buildNonCompleteTree5();
    nc_t6 = buildNonCompleteTree6();
    nc_t7 = buildNonCompleteTree7();

    c_t1 = buildCompleteTree1();
    c_t2 = buildCompleteTree2();

    c1 = genCompleteBinTree(1);
    c2 = genCompleteBinTree(2);
    c3 = genCompleteBinTree(3);
    c4 = genCompleteBinTree(4);
    c5 = genCompleteBinTree(6);
    c6 = genCompleteBinTree(24);

Il terminale mi stampa questo:
Codice: [Seleziona]
Completo nc_t1? 0
Completo nc_t2? 0
Completo nc_t3? 0
Completo nc_t4? 0
Completo nc_t5? 0
Completo nc_t6? 0
Completo nc_t7? 0
Completo c_t1? 1
Completo c_t2? 1
Completo c1? 1
Completo c2? 1
Completo c3? 1
Completo c4? 1
Completo c5? 1
Completo c6? 1
-Se puoi sognarlo, puoi farlo-

Offline john

  • Neo-Laureato
  • **
  • Post: 68
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #82 il: Lun 05 Giugno, 10:44:37 - 2017 »
Ragazzi ma all'esame quale ambiente di sviluppo useremo? Eclipse? notepad++?

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #83 il: Lun 05 Giugno, 15:10:33 - 2017 »
Ragazzi ma all'esame quale ambiente di sviluppo useremo? Eclipse? notepad++?
Non ha specificato quale ambiente di sviluppo usare alla simulazione. Presumo quello che si usava nelle esercitazioni precedenti ma io non ci sono mai andato quindi nn lo so. Cmq credo sia una scelta libera dello studente

Offline LucaLindholm

  • Studente
  • *
  • Post: 45
  • FeedBack: +1/-0
  • Luca Lindholm
    • Mostra profilo
    • Luca Lindholm
Re:Nuova modalità esame
« Risposta #84 il: Lun 05 Giugno, 16:49:18 - 2017 »
Ragazzi ma all'esame quale ambiente di sviluppo useremo? Eclipse? notepad++?

Nei computer del Laboratorio c'è un vasto assortimento di editor e IDE, tra cui Notepad++, Eclipse, NetBeans, VS, etc.

Studente di Ingegneria Informatica, sviluppatore per Windows (UWP).

Offline john

  • Neo-Laureato
  • **
  • Post: 68
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #85 il: Mar 06 Giugno, 10:28:48 - 2017 »
Grazie ragazzi. Spero allora a scelta dello studente.  :asd:

Offline john

  • Neo-Laureato
  • **
  • Post: 68
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #86 il: Mer 07 Giugno, 11:14:37 - 2017 »
Allora, sul primo esercizio l'ho fatto identico a scheggia89, per quello non ho problemi, per quanto riguarda il secondo, era un casino. Sono riuscito a far compilare l'algoritmo ma non sono sicuro della soluzione.

Codice: [Seleziona]

.....
public static void appoGenerateCompleteTree (BinTree res, int k, int level){

if (level == 0) return;
BinTree sx = new BinTree(k++);
if (res.setLeftChild(sx))
appoGenerateCompleteTree(sx, k, level-1);

BinTree dx = new BinTree(k++);
if (res.setRightChild(dx))
appoGenerateCompleteTree(dx, k, level-1);
}

public BinTree generateCompleteTree(int level){

//implementare un albero binario completo con level livelli
int k = 0;
BinTree res = new BinTree(k++);
appoGenerateCompleteTree (res, k, level-1);
return res;
}
......

E i vari test:

Codice: [Seleziona]
1
-#
-#
Albero Completo
1
-2
--#
--#
-#
Albero non Completo
1
-2
--#
--#
-3
--#
--#
Albero Completo
4
-#
-5
--#
--#
Albero non Completo
4
-1
--2
---#
---#
--3
---#
---#
-5
--#
--#
Albero non Completo
11
-12
--14
---#
---#
--#
-13
--#
--15
---#
---#
Albero non Completo
1
-#
-#
Albero Completo
1
-#
-1
--#
--#
Albero non Completo
Albero Completo

Ditemi cosa ne pensate, non sono sicuro della soluzione  ??? ??? ??? ??? :asd:

Offline roberto93

  • Studente
  • *
  • Post: 25
  • FeedBack: +2/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #87 il: Mer 07 Giugno, 11:29:00 - 2017 »
salve ragazzi, qualcuno ha svolto il problema 4?

io l'ho formulato come problema MST,  ma in generale è un problema di cammini minimi, ogni elemento della matrice è ricavato dal peso dell'arco che viene aggiunto all'albero dei cammini minimi.

per quanto riguarda i costi, la matrice occupa spazio quadratico in memoria, mentre la lista è lineare in termini di numero di nodi + archi

sul tempo: l'algoritmo in entrambi i casi dovrebbe avere costo nel caso peggio (n+m) * logn, in quanto non si fanno operazioni di inserimento di vertici (che hanno costo quadratico se si usa una matrice) ma solo operazioni insertEdges che in entrambi i casi costano O(1)

fatemi sapere voi come l'avete fatto cosi ci confrontiamo :)
grazie

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #88 il: Mer 07 Giugno, 15:36:15 - 2017 »
Allora, sul primo esercizio l'ho fatto identico a scheggia89, per quello non ho problemi, per quanto riguarda il secondo, era un casino. Sono riuscito a far compilare l'algoritmo ma non sono sicuro della soluzione.

Codice: [Seleziona]

.....
public static void appoGenerateCompleteTree (BinTree res, int k, int level){

if (level == 0) return;
BinTree sx = new BinTree(k++);
if (res.setLeftChild(sx))
appoGenerateCompleteTree(sx, k, level-1);

BinTree dx = new BinTree(k++);
if (res.setRightChild(dx))
appoGenerateCompleteTree(dx, k, level-1);
}

public BinTree generateCompleteTree(int level){

//implementare un albero binario completo con level livelli
int k = 0;
BinTree res = new BinTree(k++);
appoGenerateCompleteTree (res, k, level-1);
return res;
}
......

E i vari test:

Codice: [Seleziona]
1
-#
-#
Albero Completo
1
-2
--#
--#
-#
Albero non Completo
1
-2
--#
--#
-3
--#
--#
Albero Completo
4
-#
-5
--#
--#
Albero non Completo
4
-1
--2
---#
---#
--3
---#
---#
-5
--#
--#
Albero non Completo
11
-12
--14
---#
---#
--#
-13
--#
--15
---#
---#
Albero non Completo
1
-#
-#
Albero Completo
1
-#
-1
--#
--#
Albero non Completo
Albero Completo

Ditemi cosa ne pensate, non sono sicuro della soluzione  ??? ??? ??? ??? :asd:
Nel secondo esercizio generi l'albero ma non hai la certezza che esso sia completo. L'esercizio 2 chiede che quando fai generateCompleteTree ti deve creare sempre un albero completo. E nel codice non sembra che lo faccia questo. Ma sinceramente è un mio pensiero, non sono tanto sicuro che sia corretto ciò che ho detto

Offline zeusm

  • Studente
  • *
  • Post: 32
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #89 il: Mer 07 Giugno, 15:45:17 - 2017 »
salve ragazzi, qualcuno ha svolto il problema 4?

io l'ho formulato come problema MST,  ma in generale è un problema di cammini minimi, ogni elemento della matrice è ricavato dal peso dell'arco che viene aggiunto all'albero dei cammini minimi.

per quanto riguarda i costi, la matrice occupa spazio quadratico in memoria, mentre la lista è lineare in termini di numero di nodi + archi

sul tempo: l'algoritmo in entrambi i casi dovrebbe avere costo nel caso peggio (n+m) * logn, in quanto non si fanno operazioni di inserimento di vertici (che hanno costo quadratico se si usa una matrice) ma solo operazioni insertEdges che in entrambi i casi costano O(1)

fatemi sapere voi come l'avete fatto cosi ci confrontiamo :)
grazie

Io ho usato ho usato un grafo pesato in cui i vertici rappresentano le n stazioni e gli archi le m tratte. I pesi degli archi indicano la distanza tra due stazioni.
Per il punto b ho usato Dijkstra facendolo partire da ogni vertice e restituendo un vettore di distanze minime dagli altri vertici.
Poi ho messo i vettori di tutti i vertici in una matrice nxn e lasciato ad infinito le stazioni non collegate. Non so se sia giusta questa soluzione.