Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug report #73

Closed
JoseCarlosGarcia opened this issue Nov 19, 2022 · 6 comments
Closed

Bug report #73

JoseCarlosGarcia opened this issue Nov 19, 2022 · 6 comments
Assignees
Labels
bug Something isn't working hotfix Urgent fix to a bug in the project

Comments

@JoseCarlosGarcia
Copy link
Contributor

JoseCarlosGarcia commented Nov 19, 2022

Al inicio de un algoritmo duplico el grafo para poder eliminar nodos y aristas y obtener el resultado deseado sin variar el grafo original. Durante la ejecución del algoritmo elimino un nodo del grafo clonado y luego al llamar a un nuevo iterardor para el grafo clonado, me encuentro que sí se eliminan los nodos pero cuando accedo a uno de los nodos aun presente en el grafo y veo sus aristas que llegan o salen encuentro algunas de las aristas que lo conectaban con los nodos que se eliminaron.

En la siguiente imagen se muestra un caso, en la variable conectionsToVertex se encuentra una arista 2-> 4 sin embargo, el nodo 2 fue eliminado anteriormente.

image

En la imagen que se encuentra a continuación encontré lo siguiente:
Al eliminar un nodo del grafo clonado encontró que tenía tres aristas hacia él, entró al for de eliminar estas aristas 3 veces pero dos de ellas no las eliminó y se quedan a pesar de haber eliminado el vértice después.

image

Tener en cuenta también:

  • Al crear un copia del grafo en el método duplicate() se le pasa por parámetro al constructor del grafo que la copia será un grafo dirigido.
  • Se ejecutó el algoritmo utilizando el grafo original y sí funcionaba
@JavierMarrero JavierMarrero added bug Something isn't working hotfix Urgent fix to a bug in the project labels Nov 19, 2022
@JavierMarrero JavierMarrero pinned this issue Nov 19, 2022
@JavierMarrero
Copy link
Owner

Evidentemente el error está en la clonación del grafo. Quizás las aristas no se incorporan bien a los HashSet que deben contenerlas, o se incorporan dobles, aunque los sets no deben tener tener duplicados (lo cual puede ser indicador de que el método equals no está funcionando bien para las aristas).

@JavierMarrero
Copy link
Owner

Revisaré los métodos de clonación y trabajaré de nuevo el método equals de las aristas. 👍🏼

@JavierMarrero
Copy link
Owner

Me gustaría llamar la atención de @cdrobaina01 al problema, en caso de que encuentre modo de solucionar el bug.

@JavierMarrero
Copy link
Owner

JavierMarrero commented Nov 19, 2022

@JoseCarlosGarcia gracias por reportar el issue 😀 La información aportada es super valiosa.

@JavierMarrero
Copy link
Owner

Me gustaría llamar la atención sobre el resto de colaboradores: @SnowBlackQueen, @Amy-Mendez, que estén al tanto y cualquier otro bug que encuentren en el código sea reportado como issue en forma similar a como fue este, con vistas a la liberación de la versión 1.0.

@JavierMarrero JavierMarrero mentioned this issue Nov 20, 2022
@JavierMarrero
Copy link
Owner

Ya el bug fue cerrado con el commit #80

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working hotfix Urgent fix to a bug in the project
Projects
None yet
Development

No branches or pull requests

3 participants