Pages: [1]   Go Down
Print
Author Topic: Esercitazioni per compito del 15..  (Read 2613 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
fedyfausto
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 130


Gandalfr


WWW
« on: 07-02-2010, 17:53:56 »

Allora sto provando a fare il compito di giorno 18 tanto per capire un po...

il primo punto mi chiede dato un file di oggetti "sitoweb"(url,catsito,num_pagine,num_link_esterni) dovevo leggere tutti gli oggetti sitoweb e caricarli in un BST con chiave num_link_esterni

ho pensato ad un codice cosi:



Code:
public static void main(String [] args){

alberoBST a = new alberoBST();
try{
BufferedInputStream in = new BufferedInputStream(new FileInputStream("siti.data"));
while((sitoweb)in.readObject()!=null){
a.insert((sitoweb)in.readObject());
}
}
catch(IOException e1){
System.out.print("Errore I/O generico");
}


}

da qui potrei già pensare a come implementare certe classi come quella data "sitoweb" e la classe alberoBST dove inserire i metodi(costruttore,insert,isempty)il problema è che l'esercizio mi chiede con CHIAVE NUM_LINKSTERNI cioè?Huh? non capisco... può essere che voglia dire una probabile struttura del nodo tale che:

Nodo = (informazione, figlio_sinistro, figlio_destro,CHIAVE) dove chiave durante la creazione potrebbe essere appunto una cosa del genere: ((sitoweb)in.readObject()).getNumLinkExt() (se la variabile della classe sitoweb "numlinkesterni" è privata)

potrebbe essere cosi o sto sbagliando?
Logged

andreacannella
Administrator
Forumista Esperto
*****
Offline Offline

Gender: Male
Posts: 1.488


Andea Cannella - www.andreacannella.com


WWW
« Reply #1 on: 07-02-2010, 17:55:53 »

Devi però gestire opportunamente il metodo insert dell'albero binario di ricerca 

Saluti
 ciao ciao

Andrea
Logged

Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)

Good times for a change
See, the luck I've had
Can make a good man
Turn bad

So please, please, please
Let me, let me, let me
Let me get what I want
This time

The Smiths
fedyfausto
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 130


Gandalfr


WWW
« Reply #2 on: 07-02-2010, 17:57:01 »

ma pensi ke il mio ragionamento sia sbagliato delle struttura che attualmente mi si presentano? (cioè FINO AL PRIMO PUNTO del compito)

p.s. una possibile impl. del metodo insert potrebbe essere cosi? (dato un nodo in input)

Code:
    public boolean Insert(nodoBFS n){
        if(isEmpty()){root=n; return true;}
        if(n.compareTo(search(n))==0)return false;
        else {
        nodoBFS aux =root;
        while(!(isLeaf(aux))){
            if(n.compareTo(aux)<0) aux=aux.left;
            else aux=aux.right;}
        if(isLeaf(aux)){
            if(n.compareTo(aux)<0) aux.left=n;
            else aux.right=n;
        }
        return true;}
    }
« Last Edit: 07-02-2010, 18:50:54 by fedyfausto » Logged

Angelo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 274



« Reply #3 on: 08-02-2010, 09:18:21 »

ma non devi caricarli con chiave num_link_esterni?
Logged

..elimindo il ponte pedonale di andrea doria..hanno eliminato una parte di me!..
fedyfausto
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 130


Gandalfr


WWW
« Reply #4 on: 08-02-2010, 20:37:27 »

ma non devi caricarli con chiave num_link_esterni?

e ma ke significa? XD
Logged

Angelo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 274



« Reply #5 on: 09-02-2010, 09:27:59 »

io credo ordinati in base a quella chiave..
Logged

..elimindo il ponte pedonale di andrea doria..hanno eliminato una parte di me!..
fedyfausto
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 130


Gandalfr


WWW
« Reply #6 on: 09-02-2010, 10:55:01 »

quindi è giusto pensare ke il nodo sia fatto cosi: Nodo(informazione, INT num-link) e quando inserisco faccio il confronto con l'int... ok
Logged

Angelo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 274



« Reply #7 on: 09-02-2010, 11:06:05 »

io ho capito che il nodo è così formato (url,catsito,num_pagine,num_link_esterni)...bisogna prima ordinare con qualche algoritmo per num link esterni e poi caricare in BST..credo che si così..non appena finisco i grafi provo a farlo anche io..
Logged

..elimindo il ponte pedonale di andrea doria..hanno eliminato una parte di me!..
Angelo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 274



« Reply #8 on: 09-02-2010, 15:35:30 »

vedi se come l'ho fatto va bene: tutto sta nel sistemare l'insert
Code:
public void insert (Sitiweb x)
{root=insert(x,root);
}
public BTNode insert(Sitiweb x, BTNode t)
{
if (t==null)
t= new BTNode(x.numlinkest);
else if (x.numlinkest.compareTo(t.numlinkest.info)<0)
t.left=insert(x,t.left);
else of (x.numlinkest.compareTo(t.numlinkest.info)>0)
t.right=insert (x,t.right);
else
;
return t;
}
Logged

..elimindo il ponte pedonale di andrea doria..hanno eliminato una parte di me!..
fedyfausto
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 130


Gandalfr


WWW
« Reply #9 on: 09-02-2010, 19:00:53 »

no quello ke hai detto tu è l'oggetto sitoweb che è una vera e propria classe, il nodo invece deve contenere un oggetto sitoweb e nel suo campo CHIAVE numlink del sitoweb che contiene
Logged

Pages: [1]   Go Up
Print
Jump to: