¿Qué factores principales distinguen las estructuras de datos avanzadas y elementales?

Es difícil señalar un margen claro de las estructuras de datos anticipadas y elementales, pero aquí hay algunas diferencias clave:

  • Las estructuras de datos avanzadas a menudo se componen de elementales. A menudo son solo otra variación o generalización de las estructuras de datos elementales. Por ejemplo, Fibonacci Heap es una variación de Heap.
  • Las estructuras de datos avanzadas son más sofisticadas y difíciles de implementar. Por lo general, el tiempo requerido para implementarlos es más.
  • El uso de estructuras de datos avanzadas a menudo se limita a un determinado dominio o una determinada situación. Por ejemplo, los B-Trees a menudo se usan en bases de datos y sistemas de archivos.
  • Las estructuras de datos avanzadas a menudo explotan un patrón de uso particular, por ejemplo: alta frecuencia de consultas pero muy baja frecuencia de inserción, operación sin eliminación, etc.
  • Las estructuras de datos elementales solo admiten operaciones elementales como insertar, actualizar, eliminar y buscar. Las estructuras de datos avanzadas a veces admiten operaciones no intuitivas, como consultar si 2 elementos pertenecen al mismo conjunto.

Las llamadas estructuras de datos avanzadas son generalmente variantes de las básicas. Los árboles B, los árboles de Van Emde Boas, los árboles de separación, los árboles de intervalo y muchos otros son todo tipo de árboles, por lo que es mucho más fácil entenderlos después de haber entendido las estructuras básicas de datos de árboles.

No solo hay dos categorías, aunque por razones prácticas los planes de estudio hacen una separación basada en la complejidad para limitar el tamaño de los textos y el contenido de los cursos.

En general, las estructuras de datos más avanzadas están hechas de estructuras de datos más primitivas o “elementales”. Además, en algunos casos, una estructura de datos avanzada puede admitir operaciones primitivas que son conceptualmente más difíciles para los estudiantes, por ejemplo debido a la asimetría o debido a la complejidad del algoritmo que implementa la primitiva.

Sofisticación. Compare los conceptos en un texto de algoritmos. Verá que esto último requiere más esfuerzo para describirlo e implementarlo.