Sei sulla pagina 1di 11

Cristo Jesus Alanis Barrera AL12508835 Actividad 3. Desarrollo de algoritmos tpicos Computaci n ! Lic.

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,

,.

&seudocdigo de algoritmo de bsqueda binaria

'iagrama de lujo de algoritmo de bsqueda binaria

(. )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

'iagrama de lujo de algoritmo de ordenacin r*pida (quic- sort)

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

Tiempos de e!ecuci"n de algoritmos de ordenaci"n con arreglos ordenados en forma normal

Tiempos de e!ecuci"n de algoritmos de ordenaci"n con arreglos ordenados en forma in#ersa

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.

Potrebbero piacerti anche