Articulo de referencia

Algoritmo de puntero

En informática , un algoritmo de punteros (a veces llamado máquina de punteros o máquina de referencias; véase el artículo « Máquina de punteros» para un concepto similar, aunqu...

En informática , un algoritmo de punteros (a veces llamado máquina de punteros o máquina de referencias; véase el artículo « Máquina de punteros» para un concepto similar, aunque no idéntico) es un tipo de algoritmo que gestiona una estructura de datos enlazada. Este concepto se utiliza como modelo para pruebas de límites inferiores, y las restricciones específicas sobre la estructura de datos enlazada y el acceso del algoritmo a la misma varían.

Este modelo se ha utilizado ampliamente con problemas relacionados con la estructura de datos de conjuntos disjuntos . Así, Tarjan y La Poutré utilizaron este modelo para demostrar cotas inferiores en la complejidad amortizada de una estructura de datos de conjuntos disjuntos [ 1 ] [ 2 ] (La Poutré también abordó el problema de división y búsqueda de intervalos ). Blum utilizó este modelo para demostrar una cota inferior en el tiempo de peor caso de una sola operación de la estructura de datos de conjuntos disjuntos. [ 3 ] Blum y Rochow demostraron una cota inferior en el peor caso para el problema de unión y búsqueda de intervalos . [ 4 ]

Ejemplo

En la cota inferior de Tarjan para el problema de la unión de conjuntos disjuntos, las suposiciones sobre el algoritmo son:

  • El algoritmo mantiene una estructura de nodos enlazados.
  • Cada elemento del problema está asociado a un nodo.
  • Cada conjunto está representado por un nodo.
  • Los nodos de cada conjunto constituyen un componente conectado distinto en la estructura (esta propiedad se denomina separabilidad ).
  • La operación de búsqueda se realiza siguiendo los enlaces desde el nodo del elemento hasta el nodo del conjunto.

Bajo estos supuestos, el límite inferior deΩ(metroα(metro,norte)){\displaystyle \Omega (m\alpha (m,n))}Se demuestra que el costo de una secuencia de m operaciones es menor.

Referencias

  1. Tarjan, Robert E. (1979). "Una clase de algoritmos que requieren tiempo no lineal para mantener conjuntos disjuntos". Journal of Computer and System Sciences . 18 (2): 110– 127. doi : 10.1016/0022-0000(79)90042-4 .
  2. La Poutré, Johannes A. (1990). «Límites inferiores para el problema de unión-búsqueda y el problema de división-búsqueda en máquinas de punteros». Actas del vigésimo segundo simposio anual de la ACM sobre Teoría de la Computación - STOC '90 . ACM. págs. 34–44 . doi : 10.1145/100216.100221 . ISBN  0-89791-361-2.
    • Véase también La Poutré, Han (1996). "Límites inferiores para el problema de unión-búsqueda y el problema de división-búsqueda en máquinas de punteros". Journal of Computer and System Sciences . 52 : 87–99 . doi : 10.1006/jcss.1996.0008 .
  3. Blum, Norbert (1986). "Sobre la complejidad temporal del peor caso de una sola operación del problema de unión de conjuntos disjuntos". SIAM Journal on Computing . 15 (4): 1021– 1024. doi : 10.1137/0215072 .
  4. Blum, Norbert; Rochow, Henning (1994). "Una cota inferior para la complejidad temporal en el peor de los casos de una sola operación del problema de unión-búsqueda en intervalos". Information Processing Letters . 51 (2): 57– 60. doi : 10.1016/0020-0190(94)00082-4 .