Top Banner
Ordenamiento en Ordenamiento en Ordenamiento en Ordenamiento en Tiempo Lineal Tiempo Lineal Tiempo Lineal Tiempo Lineal - - - Medianas y Ordenes Medianas y Ordenes Medianas y Ordenes Medianas y Ordenes Estad Estad Estad Estadí í ísticas sticas sticas sticas
58

Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Sep 27, 2018

Download

Documents

hoangbao
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Ordenamiento en Ordenamiento en Ordenamiento en Ordenamiento en

Tiempo LinealTiempo LinealTiempo LinealTiempo Lineal

----

Medianas y Ordenes Medianas y Ordenes Medianas y Ordenes Medianas y Ordenes

EstadEstadEstadEstadíííísticassticassticassticas

Page 2: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

CLASIFICACIÓN EN TIEMPO LINEAL.

1.- Cota Inferior para Ordenamiento por comparaciones .

-árbol de decisión.

- limite inferior para el peor caso.

2.-CountingSort.

3.- RadixSort.

4.- BucketSort.

Page 3: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

MEDIANA Y ORDEN ESTADISTICO.

1.- Mínimos y máximos.

- Mínimos y máximos simultáneos.

2.- Selección en tiempo lineal adecuado.

3.- Selección en tiempo lineal en el peor caso.

Page 4: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

CLASIFICACIÓN EN TIEMPO LINEAL.

Page 5: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Hasta ahora los algoritmos vistos se basan en la comparación de números para obtener el orden.

• Se puede probar que los algoritmos basados en esta técnica tienen como cota inferior un costo Θ(n lg n) .

• Merge sort y heapsort alcanzar este límite superior en el peor de los casos; quicksort se logra en promedio.

Page 6: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• En este tema, vamos a demostrar que cualquier tipo de comparación debe hacer Θ (n lg n) comparaciones en la peor de los casos, para ordenar n elementos.

• y examinaremos 3 algoritmos de clasificación :

• CountingSort, • RadixSort, y • BucketSort• Estos se ejecutan en tiempo lineal. • Demás esta decir que estos algoritmos usan distintas operaciones de comparaciones para determinar el orden de clasificación.

• En consecuencia, el Θ(n lg n) límite inferior no les son aplicables.

Page 7: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Algoritmo De Ordenamiento

• Es un Es un Es un Es un algoritmoalgoritmoalgoritmoalgoritmo que pone elementos de una que pone elementos de una que pone elementos de una que pone elementos de una listalistalistalista o o o o

un un un un vectorvectorvectorvector en una secuencia dada por una en una secuencia dada por una en una secuencia dada por una en una secuencia dada por una relacirelacirelacirelacióóóón n n n

de ordende ordende ordende orden

• El problema del ordenamiento ha atraEl problema del ordenamiento ha atraEl problema del ordenamiento ha atraEl problema del ordenamiento ha atraíííído gran do gran do gran do gran

cantidad de investigacicantidad de investigacicantidad de investigacicantidad de investigacióóóónnnn

• BubbleSortBubbleSortBubbleSortBubbleSort fue analizado desde 1956fue analizado desde 1956fue analizado desde 1956fue analizado desde 1956

• El El El El ordenamiento de bibliotecaordenamiento de bibliotecaordenamiento de bibliotecaordenamiento de biblioteca se publicse publicse publicse publicóóóó por por por por

primera vez en el 2004primera vez en el 2004primera vez en el 2004primera vez en el 2004

Page 8: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Clasificación

• SegSegSegSegúúúún el lugar donde se realice el ordenamienton el lugar donde se realice el ordenamienton el lugar donde se realice el ordenamienton el lugar donde se realice el ordenamiento

• Por el tiempo en que tardan en realizar el Por el tiempo en que tardan en realizar el Por el tiempo en que tardan en realizar el Por el tiempo en que tardan en realizar el

ordenamiento ordenamiento ordenamiento ordenamiento dadas entradas ya ordenadas o dadas entradas ya ordenadas o dadas entradas ya ordenadas o dadas entradas ya ordenadas o

inversamente ordenadasinversamente ordenadasinversamente ordenadasinversamente ordenadas

• Por estabilidad : un ordenamiento estable mantiene Por estabilidad : un ordenamiento estable mantiene Por estabilidad : un ordenamiento estable mantiene Por estabilidad : un ordenamiento estable mantiene

el orden relativo que tenel orden relativo que tenel orden relativo que tenel orden relativo que teníííían originalmente los an originalmente los an originalmente los an originalmente los

elementos con claves iguales.elementos con claves iguales.elementos con claves iguales.elementos con claves iguales.

Page 9: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Listado de Algoritmos de

Ordenamiento

Page 10: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Listado de Algoritmos de

Ordenamiento

Page 11: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Counting SortEn el ordenamiento por conteo se asume que :En el ordenamiento por conteo se asume que :En el ordenamiento por conteo se asume que :En el ordenamiento por conteo se asume que :

* Los n elementos de entrada son enteros en el rango 0 y k.* Los n elementos de entrada son enteros en el rango 0 y k.* Los n elementos de entrada son enteros en el rango 0 y k.* Los n elementos de entrada son enteros en el rango 0 y k.

* Si k = O(n), el algoritmo corre en tiempo O(n).* Si k = O(n), el algoritmo corre en tiempo O(n).* Si k = O(n), el algoritmo corre en tiempo O(n).* Si k = O(n), el algoritmo corre en tiempo O(n).

* * * * IdeaIdeaIdeaIdea: Determinar para cada x, cuantos elementos menores : Determinar para cada x, cuantos elementos menores : Determinar para cada x, cuantos elementos menores : Determinar para cada x, cuantos elementos menores que x hay,que x hay,que x hay,que x hay,

por ejemplo, si existe 5 elementos menores que x, entonces x por ejemplo, si existe 5 elementos menores que x, entonces x por ejemplo, si existe 5 elementos menores que x, entonces x por ejemplo, si existe 5 elementos menores que x, entonces x debe irdebe irdebe irdebe ir

en la posicien la posicien la posicien la posicióóóón 6.n 6.n 6.n 6.

* El algoritmo * El algoritmo * El algoritmo * El algoritmo CountingCountingCountingCounting SortSortSortSort recibe un arreglo A[1..n] donde recibe un arreglo A[1..n] donde recibe un arreglo A[1..n] donde recibe un arreglo A[1..n] donde se encuentranse encuentranse encuentranse encuentran

los elementos a ordenar, un arreglos de salida donde los elementos a ordenar, un arreglos de salida donde los elementos a ordenar, un arreglos de salida donde los elementos a ordenar, un arreglos de salida donde quedaranquedaranquedaranquedaran

los datos de ordenados B[1..n] y un arreglo C[0..k] que los datos de ordenados B[1..n] y un arreglo C[0..k] que los datos de ordenados B[1..n] y un arreglo C[0..k] que los datos de ordenados B[1..n] y un arreglo C[0..k] que trabajatrabajatrabajatrabaja

como almacenamiento temporal.como almacenamiento temporal.como almacenamiento temporal.como almacenamiento temporal.

Page 12: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Counting Sort

Page 13: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Ejemplo De Counting Sort

Page 14: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Ejemplo De Counting Sort

Page 15: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Costo de Ejecucion De

Counting Sort

Page 16: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Radix Sort

• Una forma de ordenar los nUna forma de ordenar los nUna forma de ordenar los nUna forma de ordenar los núúúúmeros escoger el dmeros escoger el dmeros escoger el dmeros escoger el díííígito gito gito gito

menos significativo, ordenar cada uno de los resultados menos significativo, ordenar cada uno de los resultados menos significativo, ordenar cada uno de los resultados menos significativo, ordenar cada uno de los resultados

recursivamenterecursivamenterecursivamenterecursivamente y entonces combinarlos en ordeny entonces combinarlos en ordeny entonces combinarlos en ordeny entonces combinarlos en orden

Page 17: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 18: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Radix Sort• En el siguiente procedimiento se asume que los n En el siguiente procedimiento se asume que los n En el siguiente procedimiento se asume que los n En el siguiente procedimiento se asume que los n

elementos de arreglo elementos de arreglo elementos de arreglo elementos de arreglo AAAA tiene d dtiene d dtiene d dtiene d díííígitos, donde el dgitos, donde el dgitos, donde el dgitos, donde el díííígito 1 gito 1 gito 1 gito 1

es de inferior orden orden y el des de inferior orden orden y el des de inferior orden orden y el des de inferior orden orden y el díííígito d de alto ordengito d de alto ordengito d de alto ordengito d de alto orden

• El algoritmo El algoritmo El algoritmo El algoritmo RadixRadixRadixRadix SortSortSortSort se usa para ordenar registros se usa para ordenar registros se usa para ordenar registros se usa para ordenar registros

cuya clave es la composicicuya clave es la composicicuya clave es la composicicuya clave es la composicióóóón de varios campos por n de varios campos por n de varios campos por n de varios campos por

ejemplo (aejemplo (aejemplo (aejemplo (aññññoooo----mesmesmesmes----ddddíííía).a).a).a).

Page 19: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Bucket Sort• Distribuye todos los elementos a ordenar entre un Distribuye todos los elementos a ordenar entre un Distribuye todos los elementos a ordenar entre un Distribuye todos los elementos a ordenar entre un

nnnnúúúúmero finito de casilleros. Cada casillero smero finito de casilleros. Cada casillero smero finito de casilleros. Cada casillero smero finito de casilleros. Cada casillero sóóóólo puede lo puede lo puede lo puede contener los elementos que cumplan unas determinadas contener los elementos que cumplan unas determinadas contener los elementos que cumplan unas determinadas contener los elementos que cumplan unas determinadas condiciones.condiciones.condiciones.condiciones.

El algoritmo contiene los siguientes pasos:El algoritmo contiene los siguientes pasos:El algoritmo contiene los siguientes pasos:El algoritmo contiene los siguientes pasos:

1.1.1.1. Crear una colecciCrear una colecciCrear una colecciCrear una coleccióóóón de casilleros vacn de casilleros vacn de casilleros vacn de casilleros vacííííos os os os

2.2.2.2. Colocar cada elemento a ordenar en un Colocar cada elemento a ordenar en un Colocar cada elemento a ordenar en un Colocar cada elemento a ordenar en un úúúúnico casillero nico casillero nico casillero nico casillero

3.3.3.3. Ordenar individualmente cada casillero Ordenar individualmente cada casillero Ordenar individualmente cada casillero Ordenar individualmente cada casillero

4.4.4.4. Devolver los elementos de cada casillero concatenados Devolver los elementos de cada casillero concatenados Devolver los elementos de cada casillero concatenados Devolver los elementos de cada casillero concatenados por ordenpor ordenpor ordenpor orden

Page 20: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Ejemplo De Bucket Sort

Page 21: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Bucket Sort

Page 22: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Bucket Sort

Page 23: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Bucket Sort

Page 24: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Medianas y Ordenes

Estadísticas

Page 25: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

ORDEN ESTADISTICO:

• i-esimo orden estadístico es el i-esimomás pequeño elemento de un conjunto de n elementos .

• Por ejemplo, el mínimo de un conjunto de elementos es el primer orden estadístico (i = 1), y el máximo es el n-ésimo orden estadístico (i = n).

Page 26: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

MEDIANA

• Una mediana , informalmente, es el “punto medio”; de una serie.

• Si n es impar, la mediana es única, que se producen en i = (n + 1) / 2.

• Si n es par, hay dos medianas, ocurriendo a i=n/2 y i=(n/2) +1.

Page 27: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Por lo tanto, independientemente de la paridad de n, se producen las medianas en:

• i=[n /2] (mediana de la parte inferior o mediana inferior) y

• i=�(n/2)+1� (mediana de la parte superior o mediana superior ).

• Llamaremos “la mediana” a la mediana inferior.

Page 28: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• se aborda el problema de la selecciónde i-ésimo orden estadístico a partir de un conjunto de n distintos números.

• Suponemos por conveniencia que el conjunto contiene números distintos, aunque prácticamente todo lo que hacemos se extiende a la situación en la que un conjunto contiene repetidos valores.

Page 29: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• examinamos el problema de la selección de los mínimos y máximos de un conjunto de elementos.

• A continuación, veremos un simple algoritmo general de selección con una duración de O(n) en el caso promedio.

• Por último, veremos un poco más complicada un algoritmo general de selección con límites de tiempo de O(n) en el peor de los casos.

Page 30: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

El problema de selección puede ser especificado formalmente de la siguiente manera:

• Entrada: Un conjunto A de n números diferentes y un número i, con 1 ≤ i ≤ n.

• Salida: El elemento x de A que es más grande que exactamente i - 1 otros elementos en A. En otras palabras, el elemento más pequeño de A.

Page 31: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• El problema de selección puede ser resuelto en tiempo O(n lgn). – Ordenar los números usando un tiempo

O(n lgn) algoritmo, tales como Merge Sorto heapsort.

– Luego, retorna el i-ésimo elemento en el arreglo ordenado.

• Sin embargo, existen algoritmos más rápido.

Page 32: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Máximos y mínimos:

• ¿Cuántas comparaciones son necesarias para determinar el mínimo de un conjunto de n elementos?

Page 33: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Podemos fácilmente obtener un límite superior de n - 1 comparaciones: – Examinar cada uno de los elementos, a su vez, y llevar un registro de la más pequeña.

• Esto es lo mejor que podemos hacer, porque cada uno de los elementos, excepto el mínimo, debe ser comparado con un elemento más pequeños por lo menos una vez.

Page 34: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Sea un arreglo A[1..n]

MÍNIMO (A)

mini ← A [1]; (1)

para i ← 2 a longitud[A] (2)

hacer si mini > A [i] (3)

entonces mini ← A [i]; (4)

devolver mini (5)

Page 35: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Es lo mejor que podemos hacer?

Page 36: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Sí, puesto que podemos obtener un límite inferior de n-1 comparaciones para el problema de determinar el mínimo.

Page 37: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Piense en cualquier algoritmo que determina el mínimo como un torneo entre los elementos. Cada comparación es un partido en el torneo en el que el menor de los dos elementos gana. La observación clave es que cada elemento menos el ganador debe perder al menos en un partido.

Page 38: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Por lo tanto, n - 1 comparaciones son necesarias para determinar el mínimo, y el algoritmo mínimo es optimo con respecto al numero de comparaciones realizadas.

Page 39: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

Minimos y maximos simultaneos

• Algunas aplicaciones requieren a la vez el mínimo y el máximo de un conjunto de elementos.

Page 40: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Por ejemplo, un programa de gráficos a escala puede tener un conjunto de (x, y) de datos en una pantalla rectangular. Para ello, el programa debe encontrar primero el mínimo y máximo de cada coordenada.

Page 41: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Un simple algoritmo encontrara el mínimo y el máximo cada uno independientemente. Habrá n-1comparaciones para el mínimo y n-1comparaciones para el máximo, para un total de 2n - 2 comparaciones. Esto resultara en tiempo (n).

Page 42: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• De hecho, a lo sumo 3n/2 comparaciones son necesarias, para encontrar tanto el mínimo y máximo: – Mantener el mínimo y el máximo de elementos que se observan hasta el momento.

– No comparar cada uno de los elementos a la mínima y máxima por separado.

– Procesar los elementos en parejas.

– Comparar los elementos de un par con los demás.

– A continuación, comparar el elemento más grande con el mayor hasta el momento, y comparar el elemento menor con el mínimo hasta el momento.

Page 43: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Esto conduce a comparaciones sólo de 3 por cada 2 elementos.

• Configuración de los valores iniciales para el min y max depende de si n es impar o par. – Si n es par, comparar los 2 primeros elementos y asigne el más grande al máximo y los más pequeños al mínimo. Entonces proceso el resto de los elementos de dos en dos.

– Si n es impar, establecer tanto el máximo y mínimo para el primer elemento. Luego, proceso el resto de los elementos en parejas.

Page 44: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

El análisis del número total de comparaciones

• Si n es par, hacemos la 1 comparación inicial y luego 3(n-2)/2comparaciones más. – # de comparaciones = (3n/2) -2

• Si n es impar, que hacemos 3(n-1)/2 comparaciones.

En cualquier caso, el número máximode comparaciones es ≤ 3n / 2.

Page 45: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• Ejercicio: Demuestre que el segundo

elemento más pequeño de n elementos

puede ser encontrado con n + [lg n] - 2

comparaciones en el peor caso.

(Sugerencia: también encuentra el

elemento más pequeño.)

Page 46: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

• El más pequeño de n números puede ser encontrado con n-1 comparaciones para guiar un torneo como sigue:

• - Compare todos los números en pares. Sólo el más pequeño de cada par posiblemente podría ser el más pequeño de los n, así es que el problema se ha reducido a encontrar el más pequeño de n/2 números. Compare esos números en pares, hasta que aya simplemente un número a la izquierda, el cual será la respuesta.

Page 47: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para

A lo sumo lg n (altura del árbol de

comparaciones) los elementos fueron

comparados con el más pequeño,

entonces encontrar el más pequeño de

estas toma lg n - 1 comparaciones en el

peor caso

Page 48: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 49: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 50: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 51: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 52: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 53: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 54: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 55: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 56: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 57: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para
Page 58: Ordenamiento en Tiempo Lineal ---- Medianas y … · CLASIFICACIÓN EN TIEMPO LINEAL. 1.-Cota Inferior para Ordenamiento por comparaciones .-árbol de decisión.-limite inferior para