Newsgroup: it.comp.lang.visual-basic
Titolo: [?] [CONSIGLIO] Fare ricerche...

Stavo cercando di trovare un modo per poter fare una ricerca su un vettore
ordinato.
Ho pensato di fare una ricerca dicotomica (mi pare si chiami cosě), poi ho
pensato:
"E se la suddivido ancora?"
Cosě ho posto dei limiti asimmetrici (1/3 del vettore) rispetto al centro
del vettore stesso.
Puň andar bene o č meglio
    LimSett1= int(Mezzo/2)
    LimSett2= Mezzo+LimSett1
per suddividerlo in 4 parti uguali?
Il codice che uso č il seguente:
  Ricerca = Valore_da_cercare
  Sopra = LBound(V.Elem)
  Sotto = UBound(V.Elem)
  Mezzo = Int((Sotto - Sopra) / 2)
  LimSett1 = Int((Sotto - Sopra) / 3)
  LimSett2 = LimSett1 * 2
  Do
    Select Case Ricerca
      Case Is = V.Elem(Sopra)
        Trovato = Sopra
        Exit Do
      Case Is = V.Elem(LimSett1)
        Trovato = LimSett1
        Exit Do
      Case Is = V.Elem(Mezzo)
        Trovato = Mezzo
        Exit Do
      Case Is = V.Elem(LimSett2)
        Trovato = LimSett2
        Exit Do
      Case Is = V.Elem(Sotto)
        Trovato = Sotto
        Exit Do
      Case Is < V.Elem(Mezzo)
        If Ricerca < V.Elem(LimSett1) Then
          Sopra = Sopra + 1
          Sotto = LimSett1 - 1
        Else
          Sopra = LimSett1 + 1
          Sotto = Mezzo - 1
        End If
      Case Is > V.Elem(Mezzo)
        If Ricerca < V.Elem(LimSett2) Then
          Sopra = Mezzo + 1
          Sotto = LimSett2 - 1
        Else
          Sopra = LimSett2 + 1
          Sotto = Sotto - 1
        End If
    End Select
    Mezzo = Sopra + Int((Sotto - Sopra) / 2)
    LimSett1 = Int((Sotto - Sopra) / 3)
    LimSett2 = Sopra + LimSett1 * 2
    LimSett1 = Sopra + LimSett1
  Loop Until Sotto < Sopra
Esprimete giudizi, consigli, critiche.
E' sicuramente tutto molto ben accetto.
Mi serve solo per imparare "a ragionare".
E a crescere.
GRAZIE!!!
Max

 Max
Prego, ma ho dato una risposta schifosa...
Saluti
Claudio

 problema in modo quanto più logico possibile.
Potresti per esempio fornirmi un titolo?
GRAZIE
Max

 Potresti per esempio fornirmi un titolo?
Vai sul sito comune:
 
http://www.murialdo.it/it_lang_vb
e cerca nella sezione libri il titolo _Algoritmi + Strutture dati =
Programmi_.
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 Max
Buon Natale a te , a tutti i frequentatori del NG, e relative famiglie.
Saluti by
Claudio

problemi articolati e complessi.
Ciao, perché non butti giù una piccola recensione da pubblicare sul Sito COmune? Prendi spunto da
quelle già presenti...
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

 quelle già presenti...
Lo faccio con piacere. Prossimamente provvedo. Mi confermi
l'indirizzo 
it_la...@murialdo.it
 ?
Mercoledì vado a parlare con un mio amico libraio, vedo se ha
altri testi, sempre della Jackson, possibilmente anche su VB.
Ho avuto in prestito altri libri della Jackson, e mi sembrano
estremamente chiari ed efficaci, quindi presumo di trovare
anche un testo specifico, fatto in modo tale da aiutare a sviluppare
il ragionamento, senza però costringere ad imparare altri linguaggi
per capire le soluzioni degli esempi. Farò comunque sapere
qualcosa, sono convinto che l'argomento è di interesse generale.
Saluti by
Claudio

altri testi, sempre della Jackson, possibilmente anche su VB.
Bene. Confermo l'indirizzo: i dati necesari sono quelli che puoi trovare nelle tabelle degli altri
libri: il contenuto è l'indice (riportano non necessariamente pari pari, ma almeno una traccia
completa degli argomenti trattati), mentre la recensione vera e propria è una tua breve opinione sul
testo, i pregi, difetti, perché lo consigli/sconsigli. Per maggiori info puoi contattare il
WebMaster (che sarei io) o il responsabile della sez. libri&vb (che sarei sempre io) (sarò il tuo
incubo... ^_^)



Altro che sdoppiamento della personalita' !
Fatti qualche finesettimana qui al mare con la bella stagione! :-)
Buone Feste
Aldo

 Fatti qualche finesettimana qui al mare con la bella stagione! :-)
magari a ponente... a levante se ognuno che arriva sono tre e' un bel
casino...