Você está na página 1de 2

int max(int A[], int ini, int fim)

{
Int max1, max2, meio;
if(fim-ini<= 1) {
if(A[ini] > A[fim])
return A[ini];
return A[fim];
}
meio = (ini+fim)/2;max1 =max(A,ini,meio);
max2 = max(A, meio+1, fim);
if(max1 > max2)
return max1;
return max2;
}
Tempo = { c + T(n/ 2)}
Espao = n+5 * n

2)
int search(int A[], int ini, int fim,int
valor) {
IF(fim<= inicio){
return -1;
}
meio = (ini+fim)/2

if(a[meio] > valor)


{
retorno = search(int A[], int ini, int
meio,int valor)
}else if(a[meio] > valor)
{
retorno = search(int A[], int meio, int
fim,int valor)
}

If(a[meio] == valor){

return 1

}
Tempo = { c + T(n/ 2)
Espao = n+5 * n

3)

void shellSort(int *vetor, int tamanho)


{
int i = (tamanho - 1) / 2;
int chave, k, aux;

while(i != 0)
{
do
{
chave = 1;
for(k = 0; k < MAX - i; ++k)
{
if(Vetor[k] > Vetor[k + i])
{
aux = Vetor[k];
Vetor[k] = Vetor[k + i];
Vetor[k + i] = aux;
chave = 0;
}
}
}while(chave == 0);
i = i / 2;
}

Você também pode gostar