Busqueda binaria de un array desordenado

Iniciado por David_RM, 10 Noviembre 2011, 18:29 PM

0 Miembros y 2 Visitantes están viendo este tema.

David_RM

Ya expliqué como es el algoritmo. Se qué es absurdo, pero es lo que me han pedido en la facultad xD

LearningSpanishProgrammer

David_RM, tienes que hacer lo seguiente:

Solo necesita crear un arreglo de índices y ordenalo usando el arreglo de valores.

int arreglo[] = { 9 5 2 1};
int idxs[] = { 3 2 1 0 }

Hablé esto, pero tu no había visto.
Estoy aprendiendo español, y tu estas aprendiendo programación

naderST

Es como dice LearningSpanishProgrammer para implementar búsqueda binaria tienes que tener el arreglo en orden de alguna u otra manera. Con indices estaría bien.

BlackZeroX

Cita de: David_RM en 11 Noviembre 2011, 22:45 PM
Ya expliqué como es el algoritmo. Se qué es absurdo, pero es lo que me han pedido en la facultad xD

Pues yo creo que quisieron que usaras tu materia GRIS...

Primero ordena el array... despues aplicas el proceso de ordenacion binaria!¡.

Dulces Lunas!¡.
The Dark Shadow is my passion.

David_RM

No se puede ordenar. De todas formas, gracias a todos

BlackZeroX

The Dark Shadow is my passion.

naderST

Cita de: David_RM en 12 Noviembre 2011, 09:48 AM
No se puede ordenar. De todas formas, gracias a todos

Si te exigen hacer búsqueda binaria en un arreglo desordenado no es posible... tiene que ser en un arreglo ordenado porque existen varios métodos para hacerlo como por ejemplo la búsqueda secuencial con centinela. Un sencillo ejemplo:

David_RM

Igual no es busquedad binaria, el algoritmo ya lo explique anteriormente

BlackZeroX

Cita de: David_RM en 10 Noviembre 2011, 18:29 PM
Necesito hacer un código que haga la busqueda binaria de un array no ordenado. Entiendo el código usual pero a la hora de discriminar entre los dos sub-arrays no se muy bien que hacer.

Cita de: David_RM en 13 Noviembre 2011, 11:55 AM
Igual no es busquedad binaria, el algoritmo ya lo explique anteriormente

que dilema... si te lo dejaron de tarea pregunta a tu profesor algunos puntos criticos como los ya mensionados en este hilo.

Dulces Lunas!¡.
The Dark Shadow is my passion.

David_RM

Os dejo el enunciado, el algoritmo ya lo explique antes:

Consiste en buscar la posición de un elemento dado entre dos posiciones de un vector no ordenado. En caso de que exista, devolver la posición del elemento o -1 si no existe. Para resolver el problema mediante recursividad, consiste en dividir la estructura en dos partes del mismo tamaño.