+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [Divide et impera] verifica esistenza sequenza di numeri in vettore

  1. #1
    tvd_40 non è in linea Novello
    Post
    9

    [Divide et impera] verifica esistenza sequenza di numeri in vettore

    Salve, sono di nuovo quì

    Vorrei confrontarmi con voi su questo esercizio:
    Dato un vettore A[1..n], con A[i] ∈ {0,1,2}, per ogni i=1,...,n, progettare ed analizzare un algoritmo basato sulla tecnica divide et impera che restituisce vero se esiste i ∈ {1,..n-2} tale che A[i]=2, A[i+1]=0 e A[i+2]=1, falso altrimenti.
    In pseudocodice.

    codice:
    algo(A,i,j)
    if(i=j || j-i=1) then return false
    if(j-i=2)
         if(A[i]=2, A[i+1]=0 e A[i+2]=1) return true
         else return false
    else
    m=(i+j)/2
    a=algo(A,i,m)
    b=algo(A,m-1,j)
    return(a || b)
    Il mio cervello è arrivato a questo
    E' tutto sbagliato?tutto da rifare?

    Grazie a chi potrà dedicarmi un minutino

  2. #2
    tvd_40 non è in linea Novello
    Post
    9
    Ho provato a scriverlo in java.
    Mi da questa eccezione: java.lang.StackOverflowError
    riferendo come righe di errore queste:
    codice:
    ...
     a=algo(A,i,m)
     b=algo(A,m-1,j)
    ...
    Help per favore!

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi