Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
en "atem#ticas
!nstrucciones$ %esuelve el siguiente problema, tomando en cuenta los lineamientos que se presentan a continuacin. Recuerda que puede ser en leguaje C o en Java. 1. &'t(n el c digo del algoritmo de Bsqueda Binaria (binary search) en un lenguaje de programacin con el que te sientas cmodo (tal vez C o Java) (existen numerosas uentes en las que lo puedes encontrar pues es mu! popular).
"uente# http://www.programmingsimplified.com/c/source-code/c-program-binarysearch
$. Anali)a el cdigo obtenido ! constru*e su representacin en pseudoc digo ! en diagrama de +lu,o de acuerdo a las gu%as que te presentamos en esta unidad.
1. Inicio. 2. Declaracin de variables c, first, last, middle, array[100] como enteros Salida (Introduzca la cantidad de elementos) n <- Entrada num rica Salida (Introduzca n valores enteros) c <- ! "or c < n array[c] <- Entrada num rica end-"or Salida (Introduzca el valor a encontrar) search <- Entrada num rica first <- ! last <- n -1 middle # (first $ last)%2 &'ile first <# last i" array[middle] < search first <- middle $ 1 else-i" array[middle] # search Salida (Se encontro search en la localidad middle$1) (oto ) end-i" else last <- middle * 1 end-i" middle <- (first $ last)%2 end-&'ile ). i" first + last Salida (search no se encontro en la lista) -in
n,
search,
,.
(. )omenta en tus propias palabras si crees que este algoritmo es m*s e iciente que los de bsqueda que te presentamos en esta unidad ! por qu+. ,l algoritmo de bsqueda binaria es uno de los m*s r*pidos que existen para bsqueda de in ormacin, la desventaja que presenta a di erencia de otros algoritmos es que los datos tienen que estar ordenados en orma ascendente para que este algoritmo pueda uncionar debidamente. &ara tener la certeza que el algoritmo uncione debidamente, podemos utilizar el algoritmo de quic-sort previamente para ordenar los datos en caso de que no se encuentren ordenados.
.. &'t(n el c digo del algoritmo QuickSort en un lenguaje de programacin con el que te sientas cmodo (tal vez C o Java) (existen numerosas uentes en las que lo puedes encontrar dado que es mu! popular).
"uente# http://www.dailyfreecode.com/code/quick-sort-2852.aspx
/. Anali)a el cdigo obtenido ! constru*e su representacin en pseudoc digo ! en diagrama de +lu,o de acuerdo a las gu%as que te presentamos en esta unidad. &ara simplicidad, se pone la uncin principal de una orma breve
0. )omenta en tus propias palabras si crees que este algoritmo es m*s e iciente que los de ordenamiento ! por qu+. 1asta la ec2a el algoritmo de quic-sort es el que tengo conocimiento que es uno de los m*s e icientes para realizar un ordenamiento de una orma r*pida, el cual segn 314 se observa que el algoritmo es de los m*s r*pidos que existen para datos completamente aleatorios
Tiempos de e!ecuci"n de algoritmos de ordenaci"n con arreglos ordenados aleatoriamente 5amentablemente no se puede decir lo mismo del quic- sort cuando el arreglo a ordenar se encuentra ordenado en orma normal o inversa
6unque desconoc%a esta de iciencia de este algoritmo para esta condicin, considero que un algoritmo e iciente para sorteo podr%a ser validar que el arreglo esta previamente ordenado en orma inversa o no (si !a esta ordenado normalmente, no tendr%a caso aplicar el algoritmo de ordenacin), ! dependiendo de esta condicin, utilizar un ordenamiento tipo merge o en caso contrario utilizar quic- sort.