English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas las categorías

Porfa alguien sabe, porfa digame como, ayudaa!

2007-03-09 02:05:50 · 1 respuestas · pregunta de Angel X 4 en Ordenadores e Internet Programación y Diseño

1 respuestas

Recordemos que la búsqueda secuencial se puede realizar sobre cualquier arreglo o vector, mientras que en la búsqueda binaria, el arreglo debe estar ordenado.

Aquí está un programa en C# con una función para cada búsqueda:

using System;

namespace Busqueda {

class Programa {

public static void Main (string [] Args){
int [] V = new int [20];
for (int i = 0; i < V.Length; ++i)
Console.WriteLine ("{0}: {1}", i, V [i] = (i + 1) * 2);
// Pruebas
for (int i = 0; i < V.Length; ++i){
Console.WriteLine (BusquedaSecuencial (V, V [i]));
Console.WriteLine (BusquedaBinaria (V, V [i]));
}
}

// Devuelve la posición de Elem en el vector V
// Si no lo encuentra, devuelve -1
public static int BusquedaSecuencial (int [] V, int Elem){
for (int i = 0; i < V.Length; ++i)
if (V [i] == Elem)
return i;
return -1;
}

// Devuelve la posición de Elem en el vector V
// Si no lo encuentra, devuelve -1
public static int BusquedaBinaria (int [] V, int Elem){
int min = 0,
max = V.Length - 1,
mid = (min + max) / 2;
while (min < max){
if (V [mid] == Elem)
return mid;
if (V [mid] > Elem)
max = mid - 1;
else
min = mid + 1;
mid = (min + max) / 2;
}
if (V [min] == Elem)
return min;
if (V [max] == Elem)
return max;
return -1;
}
}
}

Cordiales saludos.

2007-03-09 03:07:18 · answer #1 · answered by Sir John 6 · 1 0

fedest.com, questions and answers