0% encontró este documento útil (0 votos)
62 vistas3 páginas

Grafos

En el siguiente documento se presenta el concepto de grafos en programación con C#.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas3 páginas

Grafos

En el siguiente documento se presenta el concepto de grafos en programación con C#.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Nombre:

Omar S. Guzmán

Matrícula:

2022-0866

Asignatura:

Estructura de datos

Tema:

Los grafos

Docente:

Eduandy Isabel Cruz

Fecha:

08/07/2024

Institución:

Instituto Tecnológico de las Américas (ITLA)


Crea un programa en C# que modele conexiones entre amigos en una red social utilizando una
matriz de adyacencia. Implementa funciones para encontrar amigos en común entre dos
personas.

C#:

using System;
using System.Collections.Generic;

class SocialNetwork
{
private int[,] adjacencyMatrix;
private int numberOfPeople;

public SocialNetwork(int numberOfPeople)


{
this.numberOfPeople = numberOfPeople;
adjacencyMatrix = new int[numberOfPeople, numberOfPeople];
}

// Añadir conexión entre dos personas


public void AddFriendship(int personA, int personB)
{
if (personA >= 0 && personA < numberOfPeople && personB >= 0 && personB <
numberOfPeople)
{
adjacencyMatrix[personA, personB] = 1;
adjacencyMatrix[personB, personA] = 1;
}
}

// Encontrar amigos en común entre dos personas


public List<int> FindCommonFriends(int personA, int personB)
{
List<int> commonFriends = new List<int>();

if (personA >= 0 && personA < numberOfPeople && personB >= 0 && personB <
numberOfPeople)
{
for (int i = 0; i < numberOfPeople; i++)
{
if (adjacencyMatrix[personA, i] == 1 && adjacencyMatrix[personB, i]
== 1)
{
commonFriends.Add(i);
}
}
}

return commonFriends;
}

public static void Main(string[] args)


{
SocialNetwork network = new SocialNetwork(5);

// Añadir algunas conexiones de amistad


network.AddFriendship(0, 1);
network.AddFriendship(0, 2);
network.AddFriendship(1, 2);
network.AddFriendship(1, 3);
network.AddFriendship(2, 4);

// Encontrar amigos en común entre dos personas


List<int> commonFriends = network.FindCommonFriends(0, 1);

Console.WriteLine("Amigos en común entre la persona 0 y la persona 1:");


foreach (int friend in commonFriends)
{
Console.WriteLine(friend);
}
}
}

También podría gustarte