En informática , la dinamización es el proceso de transformar una estructura de datos estática en una dinámica . [ 1 ] Si bien las estructuras de datos estáticas pueden ofrecer una funcionalidad excelente y consultas rápidas, su utilidad es limitada debido a su incapacidad para crecer o encogerse rápidamente, lo que las hace inaplicables para la solución de problemas dinámicos , donde los datos de entrada cambian. Las técnicas de dinamización proporcionan métodos uniformes para crear estructuras de datos dinámicas.
Problemas de búsqueda descomponibles
Definimos el problemade buscar el predicadopartido en el setcomo. Problemaes descomponible si el conjuntopuede descomponerse en subconjuntosy existe una operaciónde unificación de resultados tal que.
Descomposición
La descomposición es un término utilizado en informática para dividir estructuras de datos estáticas en unidades más pequeñas de tamaño desigual. El principio básico es que cualquier número decimal puede representarse en cualquier otra base. Para más detalles sobre el tema, consulte Descomposición (informática) . Para simplificar, en este artículo se utilizará el sistema binario, pero también se pueden utilizar otras bases (como los números de Fibonacci ).
Si se utiliza el sistema binario, un conjunto delos elementos se dividen en subconjuntos de tamaños con
elementos dondees el -la parte deen binario. Esto significa que sitieneSi el bit -ésimo es igual a 0, el conjunto correspondiente no contiene ningún elemento. Cada uno de los subconjuntos tiene la misma propiedad que la estructura de datos estática original. Las operaciones realizadas en la nueva estructura de datos dinámica pueden implicar recorrerconjuntos formados por descomposición. Como resultado, esto añadirá factor en contraposición a las operaciones de estructura de datos estática pero permitirá agregar operaciones de inserción/eliminación.
Kurt Mehlhorn demostró varias ecuaciones para la complejidad temporal de las operaciones en las estructuras de datos dinamizadas según esta idea. Algunas de estas igualdades se enumeran a continuación.
Si
- es el momento de construir la estructura de datos estática
- es el momento de consultar la estructura de datos estática
- es el momento de consultar la estructura de datos dinámica formada por descomposición
- es el tiempo de inserción amortizado
entonces
Sies al menos polinomial , entonces.
Referencias
- ↑ Mathieu, Claire; Rajaraman, Rajmohan; Young, Neal E.; Yousefi, Arman (11 de octubre de 2024). "Dinamización competitiva de estructuras de datos" . ACM Trans. Algorithms . 20 (4): 37:1–37:28. arXiv : 2011.02615 . doi : 10.1145/3672614 . ISSN 1549-6325 .
La dinamización
es una técnica genérica para transformar cualquier estructura de datos de contenedor estática en una
dinámica
que admite inserciones y consultas intercaladas arbitrariamente.
Lecturas adicionales
- Kurt Mehlhorn, Estructuras de datos y algoritmos 3, . Una serie EATCS, vol. 3, Springer, 1984.
- Estructuras de datos