Qué Tipo De Dato Es La De Ord
Enviado por EEPF2010 • 4 de Diciembre de 2012 • 469 Palabras (2 Páginas) • 272 Visitas
Módulo: Preludio
Clase: Ord
Instancias: Char , Double , Float , Int , Integer
clase ( Eq a) => Ord a donde
comparar :: a -> a -> Pedidos
( < ), ( <= ), ( > = ), ( > ) :: a -> a -> Bool
max , min :: a -> a -> a
- Definición completa mínima:
- (<=) O comparar
- Uso de comparar puede ser más eficiente para tipos complejos.
comparar xy
| X == y = EQ
| X <= y = LT
| Si no = GT
x <= y = xy comparar / GT =
x <y = xy == comparar LT
x> = y = xy comparar / LT =
x> y = xy == comparar GT
- Nota que (xy min, max xy) = (x, y) o (y, x)
max xy
| X> = y = x
| Si no = y
min xy
| X <y = x
| Si no = y
ejemplo Ord Char donde
c <= c '= fromEnum c <= fromEnum c '
¿Porque es mas rápido el algoritmo de Hoare que el de Inserción en términos de función?
los algoritmos recursivos son en general más lentos que los iterativos, y consumen más recursos
• Eliges un elemento de la lista. Puede ser cualquiera (en Optimizando veremos una forma más efectiva). Lo llamaremos elemento de división.
• Buscas la posición que le corresponde en la lista ordenada (explicado más abajo).
• Acomodas los elementos de la lista a cada lado del elemento de división, de manera que a un lado queden todos los menores que él y al otro los mayores (explicado más abajo también). En este momento el elemento de división separa la lista en dos sublistas (de ahí su nombre).
• Realizas esto de forma recursiva para cada sublista mientras éstas tengan un largo mayor que 1. Una vez terminado este proceso todos los
...