Hola Rafael, te contesto las consultas:
- "“Obtener la lista de competidores (para imprimir)...”" no se pide ningún orden, es correcta tu suposición
- Está bien un ABB ordenado por los codigos de los competidores.
- También está bien la idea del arreglo de 8 posiciones con comienzo de lista a los competidores que obtuvieron esos puestos y cada nodo debe tener un sig y ant para la lista doblemente enlazada.
- En la solución que publicaremos guardamos la información y todos los punteros necesarios para las estructuras en cada nodo, esto se podría disociar, cualquiera de las dos soluciones es correcta.
- En general las operaciones de ABB son más sencillas de implementar que las de AVL. Por lo tanto si los requerimientos lo permiten optamos por un ABB. ¿Si fuera un parcial y te piden implementar inserciones o borrados, tu cuál preferirías?
- Para este ejercicio no es necesario agregar una tabla de hash. Sería necesario si hubiera un requerimiento como por ejemplo "Obtener el año en que un competidor obtuvo el máximo puesto en O(1) en caso promedio.". Si no es el caso, aconsejo mantener la mutiestructura lo más sencilla y ajustada a los requerimientos que sea posible ya que en general estos ejercicios ya son bastante complejos.
saludos, libertad