static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); foreach (var user in users) { Console.WriteLine(user + " " + user.Id); } Console.WriteLine("Done"); Console.ReadLine(); BreadthFirstSearch search = new BreadthFirstSearch(users); int distance = search.MinDistance(users[0], users[6]); Console.WriteLine(distance); Console.ReadLine(); //Console.WriteLine(search.FriendsOfFriends(users[0], 3)); HashSet <UserNode> result = search.FriendsOfFriends(users[12], 2); foreach (var user in result) { Console.WriteLine(user); } Console.ReadLine(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); foreach (var user in users) { Console.WriteLine(user); } Console.WriteLine("Done"); while (true) { Random rand = new Random(); UserNode user1 = users.ElementAt(rand.Next(users.Count)); UserNode user2 = users.ElementAt(rand.Next(users.Count)); int distance = rand.Next(5); Console.WriteLine("\nUser1: " + user1 + ", User2: " + user2 + ", Distance: " + UserNode.DistanceBetweenUsers(user1, user2)); Console.WriteLine("\nUser1: " + user1 + "Distance: " + distance + "\n Friends: "); foreach (var user in user1.FriendsOfFriends(distance)) { Console.WriteLine(user); } Console.WriteLine("Press escape to exit, anyhing else to rerun the functions"); var key = Console.ReadKey(); if (key.Key == ConsoleKey.Escape) { break; } } }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); BreadthFirstSearch bfs = new BreadthFirstSearch(users); foreach (var user in users) { Console.WriteLine(user); } Random random = new Random(); UserNode user1 = users[random.Next(0, users.Count)]; UserNode user2 = users[random.Next(0, users.Count)]; Console.WriteLine($"\nDistance between {user1} and {user2} is: {bfs.GetDistance(user1, user2)}"); Console.WriteLine($"Friends of {user1} with distance 2 are:"); foreach (var friend in bfs.GetFriendsOfFriends(user1, 2)) { Console.WriteLine(friend); } Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); var userGraph = new UserGraph(users); var shortestDistance = userGraph.GetShortestDistanceBetweenNodes(users[0], users[6]); }
static void Main(string[] args) { var rng = new Random(); Graph graph = new Graph(); RandomDataGenerator generator = new RandomDataGenerator(); graph.AddRange(generator.Generate(4)); var users = new List <UserNode>(graph.Users); int max = Math.Min(3, users.Count); Console.WriteLine($"Total number of people in the graph: {users.Count}"); for (int i = 0; i < max; i++) { var user = users[rng.Next(users.Count)]; if (i == 0) { var friends = graph.GetFriendsOfFriends(user, 2); Console.WriteLine($"The closest people to {user} are: "); foreach (var friend in friends) { Console.WriteLine($"\t{friend}"); } } for (int j = 0; j < max; j++) { var otherUser = users[rng.Next(users.Count)]; int distance = graph.GetDistance(user, otherUser); var paths = graph.GetShortestPaths(user, otherUser); var sb = new StringBuilder(); foreach (var path in paths) { sb.Append($"\t ({path.Count})"); sb.Append("["); foreach (var userNode in path) { sb.Append(userNode); sb.Append(","); } sb.Append("]\n"); } Console.WriteLine($"{user} is {distance} friends away from {otherUser}"); Console.WriteLine($"The shortest routes between them are: \n{sb.ToString()}"); } } Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); System.Console.WriteLine(); ShowDistance(users[0], users[1], 1); ShowDistance(users[0], users[7], 2); ShowDistance(users[29], users[0], 3); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); foreach (var user in users) { Console.WriteLine(user); } Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); FriendHandler friendHandler = new FriendHandler(users); friendHandler.GetMinimumDistance("Alec Hillary", "Karleigh Winifred"); friendHandler.GetFriendsByDistance("Alec Hillary", 3); Console.WriteLine("\nDone"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); HashSet <UserNode> result = FriendsOfFriends(users[0], 2); foreach (UserNode member in result) { Console.WriteLine(member.ToString()); } Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); Dictionary <UserNode, HashSet <UserNode> > dictonary = UploadDictionary(users); int steps = MinimumDistanceBetween2People(dictonary, users[3], users[25]); //GiveFriendsOfFriends(dictonary, users[0], 2); ShortestPathBetweenTwo(dictonary, users[3], users[22]); // foreach (var user in users) // { // Console.WriteLine(user); // } // // Console.WriteLine("Done"); // Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); foreach (var user in users) { Console.WriteLine(user); } Console.WriteLine("Done"); BreadthFirstSearch search = new BreadthFirstSearch(); UserNode test1 = users[0]; UserNode test2 = users[2]; UserNode test3 = users[6]; UserNode test4 = users[9]; int minDistance = search.FindMinimumDistance(test3, test4); Console.WriteLine("The mininmum distance between " + test3 + " and " + test4 + " is " + minDistance); int selectedDistance = 3; Console.WriteLine("The user " + test1 + " has the following friends of friends in " + selectedDistance + " level distance."); HashSet <UserNode> friendsOfFriends = search.ListFriendsOfFriends(test1, selectedDistance); foreach (var user in friendsOfFriends) { Console.WriteLine(user); } Console.WriteLine("The " + test3 + " and " + test4 + "has the following shortest paths: "); List <List <UserNode> > shortestPaths = search.ListShortestPaths(test3, test4); foreach (var path in shortestPaths) { foreach (UserNode node in path) { Console.Write(node.ToString()); } Console.WriteLine("End of path"); } Console.WriteLine(); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); // Console.WriteLine("" + users[0] // + users[0] + "Distance is:" // + BreadthFirstSearch.GetMinimumDistance(users[0], users[0])); // Console.WriteLine("" + users[1] // + users[28] + "Distance is:" // + BreadthFirstSearch.GetMinimumDistance(users[1], users[28])); List <UserNode> friendsOfFriendsDepth1 = BreadthFirstSearch.GetFriendsOfFriends(users[0], 1); foreach (var friend in friendsOfFriendsDepth1) { Console.WriteLine(friend); } Console.WriteLine("<--------------------------------------------------->"); List <UserNode> friendsOfFriendsDepth2 = BreadthFirstSearch.GetFriendsOfFriends(users[0], 2); foreach (var friend in friendsOfFriendsDepth2) { Console.WriteLine(friend); } // foreach (var user in users) // { // Console.WriteLine(user); // foreach (UserNode friend in user.Friends) // { // Console.Write(friend.FirstName +" " + friend.LastName + " | "); // } // // Console.WriteLine(""); // } Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); Console.WriteLine(users[0].MinDistanceFrom(users[2])); Console.WriteLine(users[0].FriendsAtDistance(2).Count); foreach (var user in users[0].FriendsAtDistance(2)) { Console.WriteLine(user); } //foreach (var user in users) //{ // Console.WriteLine(user); //} //Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); Console.WriteLine("Users:"); foreach (var user in users) { Console.WriteLine(user); } UserNode userOne = users[15]; UserNode userTwo = users[9]; Console.WriteLine($"User one is {userOne}"); Console.WriteLine($"User two is {userTwo}"); int distance = Distance.GetShortestDistanceBetweenUsers(userOne, userTwo); Console.WriteLine($"The shortest distance between {userOne.FirstName} and {userTwo.FirstName} is {distance}"); ResetUsers(users); List <List <UserNode> > paths = ShortestPath.GetShortestPath(userOne, userTwo); Console.WriteLine($"The shortest distance between {userOne.FirstName} and {userTwo.FirstName} is:"); foreach (List <UserNode> path in paths) { foreach (UserNode user in path) { Console.WriteLine(user); } } ResetUsers(users); HashSet <UserNode> friends = Friends.GetFriendsOfFriends(userOne, 2); Console.WriteLine($"{userOne.FirstName}'s friends:"); foreach (UserNode friend in friends) { Console.WriteLine(friend); } Console.ReadKey(); }
static void Main(string[] args) { Random random = new Random(); RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); BreadthSearch breadthSearch = new BreadthSearch(users); foreach (var user in users) { Console.WriteLine(user); } int distance = breadthSearch.DistanceBetweenUsers(users[0], users [1]); Console.WriteLine("Distance between users: " + distance); List <UserNode> friendsOfFriends = breadthSearch.GetFriendsOfFriends(users[0], 10); string result = string.Join(", ", friendsOfFriends); Console.WriteLine(result); Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); UserNode startUser = users[0]; UserNode endUser = users[1]; GraphOperation graphOperation = new GraphOperation(); graphOperation.ShowFriendsAndDistancesFromUser(startUser); Console.WriteLine(graphOperation.MinimumDistanceOfUsers(startUser, endUser)); foreach (UserNode userNode in graphOperation.FriendsOfFriendsAtDistance(startUser, 1)) { Console.WriteLine($"{userNode.FirstName} {userNode.LastName}"); } Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); PrintUsers(users); FindPath(users); FriendsAtDistance(users, 2); var lastUser = users[users.Count - 1]; var secondToLast = users[users.Count - 3]; lastUser.AddFriend(secondToLast); users[12].AddFriend(users[14]); users[14].FirstName = "Sile"; users[14].LastName = "Camataru'"; FindShortestPaths(users); AllPathsCyclicGraph(); Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); foreach (var user in users) { Console.WriteLine($"{user} user ID: {user.Id}"); foreach (var item in user.Friends) { Console.Write($" -{item.FirstName} {item.LastName} ({item.Id}) "); } Console.WriteLine(); } //Console.WriteLine($"Min distance between 2 and 23: {MinimumDistance.DisplayShortestDistance(users, 2, 23)}"); //ListOfFriendsAtDegree.DisplayListOfFriendsAtDegree(users, 1, 3); PersonPath.PrintShortestParthAndPeople(users, 1, 62); Console.WriteLine("Done"); Console.ReadKey(); }
static void Main(string[] args) { RandomDataGenerator generator = new RandomDataGenerator(); List <UserNode> users = generator.Generate(); //here is my edge array foreach (var user in users) { Console.WriteLine(user); foreach (var friend in user.Friends) { myEdges.Add(Tuple.Create(user.Id, friend.Id)); } } allVertices = users.Count; Console.WriteLine("\n" + "Hit enter to see the distance between to people: "); Console.ReadLine(); //THE SHORTEST DISTANCE------------------------------------------------------------------------------ //my addition //my vertices var myVertices = Enumerable.Range(1, allVertices).ToArray(); //my edges list is on the top and i add the info in the first for loop //here i convert this list to an array var Edges = myEdges.ToArray(); var graph = new Graph <int>(myVertices, Edges); var algorithms = new Algorithms(); var startVertex = 2; var shortestPath = algorithms.ShortestPathFunction(graph, startVertex); //write out the shortest distance between two people, start vertex - end vertex (one vertex means 1) var endVertex = 10; Console.WriteLine(shortestPath(myVertices[endVertex]).Count()); //write out the "way to the porson" Console.WriteLine("shortest path to {0}: {1}", myVertices[endVertex], string.Join(", ", shortestPath(myVertices[endVertex]))); Console.ReadLine(); //THE FRIENDS NEARBY--------------------------------------------------------------------------------- var distance = 3; foreach (var vertex in myVertices) { if (shortestPath(vertex).Count() == distance) { Console.WriteLine("path in DISTANCE 3 {0,2}: {1}", vertex, string.Join(", ", shortestPath(vertex))); } Console.WriteLine("all shortest path to {0,2}: {1}", vertex, string.Join(", ", shortestPath(vertex))); } Console.ReadLine(); //FRIEND CHAIN--------------------------------------------------------------------------------------- if (shortestPath(myVertices[endVertex]).Count() == distance) { Console.WriteLine("{0} {1}'s Friends in Distance 3: " + "\n", users[myVertices[endVertex]].FirstName, users[myVertices[endVertex]].LastName); foreach (var ver in shortestPath(myVertices[endVertex])) { Console.WriteLine("{0} {1}", users[ver].FirstName, users[ver].LastName); } } }