Técnica de Diseño de Algoritmos

Page 109

97

ORDENACIÓN

Esta ecuación es fácil de resolver si hacemos el cambio n = (3/2)k, mediante el cual obtenemos tk = 22 + 3tk–1, ecuación en recurrencia no homogénea con ecuación característica (x–3)(x–1) = 0, y por tanto la solución es: tk = c13k + c2. Deshaciendo el cambio, obtenemos finalmente:

T (n) = c 1 3

log3/ 2 n

+ c 2 = c1 n

log3/ 2 3

+ c2 .

Para el cálculo de las constantes, tomaremos dos condiciones iniciales: T(1) = 6 y T(2) = 13. Con ambas es fácil ver que c2 = 6 y c1 = 1.07017. Como c1 > 0 podemos afirmar que:

T (n) ∈Θ(n

log3/ 2 3

).

Ahora bien, log3/23 = 2.7095113, con lo cual este método resulta ser de un orden de complejidad muy superior al del resto de los métodos de ordenación vistos en el presente capítulo y por tanto no rentable frente a ellos. Solución al Problema 2.15.

( )

Este problema es una generalización del que intenta encontrar la mediana de un vector dado (para k = (n+1)÷2), conocido también como el problema de la Selección. Sin embargo hemos preferido referirnos a él como el problema del k-ésimo elemento para no confundirlo con el algoritmo de ordenación del mismo nombre. • Efectivamente, una primera idea consiste en ordenar el vector a[1..n] por algún método eficiente y luego escoger el elemento a[k]. Sabemos ya que este procedimiento es de complejidad O(nlogn). • Si decidiéramos modificar el procedimiento de Selección de forma que parase cuando hubiera ordenado hasta la posición k conseguiríamos cierta mejora para algunos casos, pues este algoritmo sería de complejidad O(nk). • Otra idea interesante es la de utilizar el método de ordenación por montículos, modificándolo como en el caso anterior para que pare cuando tenga ordenado hasta la posición k. Así logramos hacerlo mejor para algunos valores de k, pues este procedimiento es de complejidad (n–k)logn (ya que el método de montículos ordena de atrás hacia adelante). También podemos usar una variante en donde los montículos están ordenados de menor a mayor. Con esto conseguimos un procedimiento de complejidad O(klogn). • ¿Puede usarse una modificación de Quicksort para resolver este problema? Observando cómo funciona este método, nos damos cuenta que la función


Turn static files into dynamic content formats.

Create a flipbook

Articles inside

BIBLIOGRAFÍA Y REFERENCIAS

14min
pages 315-326

7.11 El fontanero con penalizaciones

10min
pages 307-314

7.10 Las n reinas

5min
pages 303-306

7.9 La asignación de tareas

7min
pages 298-302

7.6 La colocación óptima de rectángulos

6min
pages 285-290

7.8 La mochila (0,1) con múltiples elementos

2min
pages 296-297

7.5 El laberinto

10min
pages 278-284

7.4 El viajante de comercio

11min
pages 270-277

7.2 Consideraciones de implementación.......................................................257 7.3 El puzzle (n 2–1

12min
pages 262-269

6.15 Reconocimiento de grafos

2min
pages 249-250

6.14 El coloreado de mapas

3min
pages 246-248

6.16 Subconjuntos de igual suma

2min
pages 251-252

6.17 La múltiples mochilas (0,1

3min
pages 253-254

3.14 Divide y Vencerás multidimensional

7min
pages 132-136

3.13 El torneo de tenis

9min
pages 127-131

3.12 La moda de un vector

6min
pages 124-126

3.11 El elemento mayoritario

5min
pages 121-123

3.4 Búsqueda ternaria

2min
pages 110-111

1.4 Resolución de ecuaciones en recurrencia

7min
pages 10-15

3.10 Repetición de cálculos en Fibonacci

2min
page 120

3.8 Mediana de dos vectores

5min
pages 117-118

3.9 El elemento en su posición

1min
page 119

3.7 Producto de matrices cuadradas (2

1min
page 116

3.6 Producto de matrices cuadradas (1

2min
pages 114-115

3.5 Multiplicación de enteros

3min
pages 112-113

2.6 Ordenación mediante Montículos (Heapsort

4min
pages 65-66

2.5 Ordenación por Mezcla (Mergesort

4min
pages 63-64

3.3 Búsqueda binaria no centrada

1min
page 109

2.8 Ordenación por Incrementos (Shellsort

1min
page 70

3.2 Búsqueda binaria

2min
page 108

2.3 Ordenación por Selección

1min
page 61

2.2 Ordenación por Inserción

2min
page 60
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.