que quiere visualizar dos algoritmos diferentes que deciden si hay superposición en una colección de círculos en un plano en Java:¿Cómo visualizar un algoritmo sin cambiar el código de ese algoritmo?
- un O (N ²) algoritmo que comprueba todas las combinaciones de círculos
- un O (nlogn) algoritmo utilizando una línea de barrido
¿hay una manera de dejar un objeto de una clase vizualization 'escuchar' a un objeto de la clase algoritmo de manera que se pueda ver por ejemplo cuando el algoritmo está llevando a cabo una superposición comprobar entre un par de círculos y sabe cuándo actualizar la visualización?
otro ejemplo: Puedo mantener la lista de círculos activos (los que se cruzan con la línea de barrido) como una variable del algoritmo de barrido y dejar que otra clase (clase de visualización) obtenga esa variable. Pero, ¿cómo sabrá esa clase cuándo se actualiza la lista y tiene que actualizar la visualización?
Esa es la estrategia en la que estaba pensando. Tal vez hay mejores formas ...
No sé si lo has considerado, pero solo tengo una palabra en mente: Multithreading. ¿Algún hilo de algoritmo y un hilo de visualización? –
Definitivamente necesitaré varios hilos.El problema principal es: ¿cómo sabe el hilo de visualización que necesita actualizarse? – aerod
Haz un dibujo. (Lo visualiza) No modifica el código. –