Oppure

Loading
17/05/10 11:52
crack001
Salve a tutti voi del forum, avrei un piccolo problema, dovrei risolvere un homework per l'università, xo prima di andare avanti voglio essere sicuro:

questa è la traccia:

Avendo un vettore caricato staticamente, e 2 variabili inserite da tastiera (le 2 variabili devono essere comprese nel vettore" contare quanti elementi si trovano tra le 2 variabili. usando la ricerca binaria.

esempio:

vettore: 1 2 3 4 5 6 7 8 9

variabili :
a: 1
b: 7

mi deve dare in output 5.

Ora la mia domanda è questa, siccome ho l'idirizzo iniziale del vettore, e il valore che mi da la lunghezza del vettore, se uso una ricerca binaria devo dividere il vettore in 2 parti, controllare prima la destra e poi la sinistra o viceversa, xo nel momento in cui il vettore è di dimensioni dispari come faccio?

Logicamente sarebbe gradito ricevere solo spiegazioni, e nessun codice...XD

grazie a tutti coloro che risponderanno, sarei perso sensa di voi!!!!
aaa
18/05/10 1:27
gigisoft
Postato originariamente da crack001:

Salve a tutti voi del forum, avrei un piccolo problema, dovrei risolvere un homework per l'università, xo prima di andare avanti voglio essere sicuro:

questa è la traccia:

Avendo un vettore caricato staticamente, e 2 variabili inserite da tastiera (le 2 variabili devono essere comprese nel vettore" contare quanti elementi si trovano tra le 2 variabili. usando la ricerca binaria.

esempio:

vettore: 1 2 3 4 5 6 7 8 9

variabili :
a: 1
b: 7

mi deve dare in output 5.

Ora la mia domanda è questa, siccome ho l'idirizzo iniziale del vettore, e il valore che mi da la lunghezza del vettore, se uso una ricerca binaria devo dividere il vettore in 2 parti, controllare prima la destra e poi la sinistra o viceversa, xo nel momento in cui il vettore è di dimensioni dispari come faccio?

Logicamente sarebbe gradito ricevere solo spiegazioni, e nessun codice...XD

grazie a tutti coloro che risponderanno, sarei perso sensa di voi!!!!


Beh... e' vero, per la ricerca binaria devi dividere il vettore in due sottovettori, ma non e' la fine del mondo se uno dei due sottovettori ha un elemento in piu'
in alternativa, nel caso di dimensioni dispari, puoi prendere l'elemento centrale e, se non e' quello che cercavi, puoi escluderlo, e consideri quindi i sottovettori formati uno con gli elementi a destra dell'elemento centrale e l'altro con quelli a sinistra, che risulteranno della stessa dimensione.
Ciao. :k:

Luigi
aaa
19/05/10 17:00
crack001
e se invece voglio cambiare programma e non usare la ricerca binaria? tu come lo faresti? logicamente in modo ricorsivo
aaa