Afficher les amis des amis a partir de matrice adj
Résolu/Fermé
A voir également:
- Afficher les amis des amis a partir de matrice adj
- Recherche a partir dune photo - Guide
- Afficher mot de passe wifi android - Guide
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse. ✓ - Forum Jeux vidéo
- Combien y a-t-il de bateaux dans la zone de 1500 pixels de large et 500 pixels de haut à partir du coin supérieur gauche de cette image ? - Forum Graphisme
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
31 juil. 2018 à 18:01
31 juil. 2018 à 18:01
Bonjour,
Si tu as une méthode
Remarque : mathématiquement, il serait également possible de calculer le carré de ta matrice d'adjacence, et refaire le même calcul mais avec cette nouvelle matrice.
Cette méthode est un peu plus compliqué à mettre en place (il faut savoir calculer le carré d'une matrice) mais elle permet de gagner en efficacité car on calcule une seule fois la deuxième matrice et après chaque calcul est beaucoup plus rapide.
Si tu as une méthode
Set<Integer> getFriends(List<List<Integer>> matrix, Integer id)qui te renvoie les amis, il te suffit d'appeler à nouveau cette méthode pour calculer chacun des amis de ces amis.
public static Set<Integer> getFriendsOfFriends(List<List<Integer>> matrix, Integer id) { Set<Integer> result = new HashSet<>(); for (Integer friend : getFriends(matrix, id)) { result.addAll(getFriends(matrix, friend)); return result; }
Remarque : mathématiquement, il serait également possible de calculer le carré de ta matrice d'adjacence, et refaire le même calcul mais avec cette nouvelle matrice.
public static Set<Integer> getFriendsOfFriends(List<List<Integer>> matrix, Integer id) { return getFriends(square(matrix), id); }
Cette méthode est un peu plus compliqué à mettre en place (il faut savoir calculer le carré d'une matrice) mais elle permet de gagner en efficacité car on calcule une seule fois la deuxième matrice et après chaque calcul est beaucoup plus rapide.
Modifié le 1 août 2018 à 18:15
j'ai tenté aussi de faire ca :
merci encore une fois