Está en la página 1de 7

RECURSIVIDAD EN ORDENACION Y CAPITULO 4

BUSQUEDA
RECURSIVIDAD EN ORDENACIÓN QUICKSORT
QUICKSORT (ORDENAMIENTO RÁPIDO)
El método mas eficiente de
ordenación, es el Quicksort, que
funciona de manera recursiva.
Es un algoritmo basado en la
técnica de divide y vencerás,
que permite, en promedio,
ordenar n elementos en un
tiempo proporcional a n log n.
QUICKSORT (ORDENAMIENTO RÁPIDO)
El algoritmo consiste de los siguientes pasos:
Pasos#1. Si el numero de elementos es 0 o 1, esta ordenado.
Paso#2. Elija un elemento cualquiera en la entrada, este elemento es llamado pivote.
Paso#3. Partir el conjunto, sin el pivote, en dos conjuntos disjuntos: los menores o iguales a ́el y los mayores o
iguales a ́el.
Paso#4. Devolver la ordenación del primero de los conjuntos seguido del pivote seguido de la ordenación
del segundo de los conjuntos.
RECURSIVIDAD EN BUSQUEDA BUSQUEDA LINEAL RECURSIVA
BUSQUEDA BINARIA
BUSQUEDA LINEAL
El algoritmo de la búsqueda lineal consiste en ir comparando cada uno de los elementos
de la lista, hasta encontrar el elemento buscado, este algoritmo funcionará sin importar si
la lista esta ordenada.
int busquedalineal (int A[], int clave, int n, int i){
if (i==n+1){
return -1;
}Else{
if (A[i]==clave){
return i;
}Else{
return busquedalineal(A,clave,n,i+1);
return -1;
}
}
La funcion se invoca inicialmente con : busquedalineal(A,n,1)
BUSQUEDA BINARIA
La búsqueda binaria sólo se usa con listas ordenadas, de preferencia ascendentemente.
El algoritmo consiste en reducir paulatinamente el ámbito de búsqueda a la mitad de los
elementos, basándose en comparar el elemento a buscar con el elemento que se encuentra
en la mitad del intervalo y en base a esta comparación:
• Si el elemento buscado es menor que el elemento medio, entonces sabemos que el
elemento está en la mitad inferior de la tabla.
• Si es mayor es porque el elemento está en la mitad superior.
• Si es igual se finaliza con éxito la búsqueda ya que se ha encontrado el elemento.

También podría gustarte