Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como algorirmos

Introduction to algorithms 3rd Edition

 2.3-6 INSERTION-SORT-2(A) for j = 2 to A.length     key = A[j]     i = j-1     r = BINARY-SEARCH-R'(A, A[j], 1, i)     while i>r         A[i+1] = A[i]         i = i-1     A[i+1] = key /* returns p in [1..A.length] / A[p] = v1 and v1 <= v if v1 exists  * returns 0 if v1 doesn't exist  */ BINARY-SEARCH-R'(A, v, p, q) if p>q     return 0 if A[ (p+q)/2 ] <= v     return max( (p+q)/2, BINARY-SEARCH-R'(A, v, (p+q)/2+1, q) ) else   // A[ (p+q)/2 ] > v     return BINARY-SEARCH-R'( A, v, p, (p+q)/2-1 ) /* Iterative version  */ BINARY-SEARCH-R'(A, v, p, q) max_v : Integer BEGIN while p<=q     if A[ (p+q)/2 ] <= v         max_v = (p+q)/2         p = (p+q)/2+1     else   // A[(p+q)/...