TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Buscas Em C

Trabalho Universitário: Buscas Em C. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  19/1/2014  •  439 Palavras (2 Páginas)  •  207 Visualizações

Página 1 de 2

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

void quick_sort(int v[], int left, int right);

float search(int v[], int value);

float binary_search(int v[], int value);

int main(){

int i;

int v_seq[5000],v_bin[5000];

int value;

float time_seq=0;

float time_bin=0;

float m_seq=0;

float m_bin=0;

srand(time(NULL));

printf("\nPopulando os dois vetores...\n");

for (i=0; i < 5000; i++){

v_seq[i]= rand() % 10000;

v_bin[i]= rand() % 10000;

}

printf("\nOrdenando o vetor de busca binária...\n");

quick_sort(v_bin,0,4999);

for(i=0;i<500;i++){

value = rand() % 10000;

time_seq= time_seq + search(v_seq,value);

time_bin= time_bin + binary_search(v_bin,value);

}

m_seq= time_seq/500;

m_bin= time_bin/500;

printf("\nMédia de tempo para busca sequencial: %f ms \n",m_seq);

printf("\nMédia de tempo para busca binária: %f ms \n",m_bin);

return 0;

}

void quick_sort(int v[], int left, int right) {

int i, j, x, y;

i = left;

j = right;

x = v[(left + right) / 2];

while(i <= j) {

while(v[i] < x && i < right) {

i++;

}

while(v[j] > x && j > left) {

j--;

}

if(i <= j) {

y = v[i];

v[i] = v[j];

v[j] = y;

i++;

j--;

}

}

if(j > left) {

quick_sort(v, left, j);

}

if(i < right) {

quick_sort(v, i, right);

...

Baixar como (para membros premium)  txt (2.5 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com