Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
1
.NET 4.x

Удаление вершин графа при построении

13.08.2015, 20:58. Показов 1799. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем. Вот скачал библиотеки
C#
1
2
3
using Microsoft.Glee;
using Microsoft.Glee.Drawing;
using Microsoft.Glee.GraphViewerGdi;
И строю граф вот таким способом
C#
1
2
3
4
5
6
7
8
9
10
11
12
Microsoft.Glee.Drawing.Graph graph = new Microsoft.Glee.Drawing.Graph("graph");
 
            //создания контента график
            graph.AddEdge("САША", "3");
            graph.AddEdge("САША", "1");
            graph.AddEdge("САША", "2");
 
            graph.AddEdge("МАША", "2");
            graph.AddEdge("ПАША", "3");
 
            //связать график для зрителя 
            gViewer2.Graph = graph;
и получаю как изображено на рисунке.
Подскажите пожалуйста как после добавления(до отображения графа) удалить все вершины которые соединены ТОЛЬКО С ОДНОЙ ВЕРШИНОЙ. В моем примере надо удалить вершину "1". данных добавляется много из класса(больше 1000 точек)
Миниатюры
Удаление вершин графа при построении  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2015, 20:58
Ответы с готовыми решениями:

Ошибка при построении графа
Добрый день! При запуске программы function u=func1(x,t,n) u=zeros(length(t),length(x)); ...

Ошибка при построении графа
Доброго времени суток. Использую Matlab R2011b для построения графов. При компиляции m-файла...

Нахождение фактора графа и остова графа для некоторого произвольного графа (5-6 вершин)
Форумчане прошу помощь в выполнение задания по деск. мат. Задание: Нахождение фактора графа и...

Определить номера вершин графа, в которых пересекаются кратчайшие пути из вершин
Дано взвешенный граф в котором насчитывается N вершин и M ребер. Необходимо определитить номера...

6
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
14.08.2015, 16:43 2
malta87,
Строите список смежности, и удаляете вершины у которых в списке один или менее элементов
0
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
15.08.2015, 22:41  [ТС] 3
данные я беру вот так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Admin
        {
            public string Name { get; set; }
            public int Num { get; set; }
            public Admin(string name, int num)
            {
                Name = name;
                Num = num;
            }            
        }
 
List<Admin> sys = new List<Admin>();
.......
foreach (var c in sys )
{
     graph.AddEdge(c.Name );
}
не понял как составить список смежноти
0
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
09.09.2015, 21:27  [ТС] 4
Помогите пожалуйста решить мой вопрос. Граф у меня не ориентированный
0
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
13.09.2015, 16:38  [ТС] 5
XRoy не поможете построить данный список??? Вопрос в чем у меня. Я изменил код и теперь все данные таблиц я добавляю в класс и провожу там группировку по двум столбцам:
C#
1
2
3
4
5
6
7
8
9
10
11
12
public class Admin
        {
            public string Name_A { get; set; }
            public string Name_B { get; set; }
            public int Num { get; set; }
            public Admin(string name_A, string name_B, int num)
            {
                Name_A = name_A;
                Name_B = name_B;
                Num = num;
            }            
        }
Т.е. если (А, Б) и (А, Б) получу (А, Б) и Num=2, а если будет (А, Б) и (Б, А) то это же и получу.
Граф я буду строиться из несколько десяток таблиц, так что в одной будет (А, Б), а в другой точно (Б, А) и так далее (А, В) и(В, А)

Вот нашел код на C++, но там уже известные смежные ребра, а у меня нет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <iostream>
using namespace std;
const int Vmax=100, Emax=Vmax*2;
int head[Vmax];
int next_el[Emax];
int terminal[Emax];
int n, m, i, j, k, v, u;
char r;
void Add(int v, int u) //добавление ребра
{
k=k+1;
terminal[k]=u;
next_el[k]=head[v];
head[v]=k;
}
//главная функция
void main()
{
setlocale(LC_ALL,"Rus");
k=0;
cout<<"Кол. вершин >> "; cin>>n;
cout<<"Кол. ребер >> "; cin>>m;
cout<<"Вводите смежные вершины:"<<endl;
for (i=0; i<m; i++)
{
cin>>v>>u;
cout<<"Ребро ориент.? (y/n) >> "; cin>>r;
if (r=='y') Add(v, u);
else
{
Add(v, u);
Add(u, v);
}
cout<<"..."<<endl;
}
//вывод списка смежности
cout<<"Список смежности графа:";
for (i=0; i<n+1; i++)
{
j=head[i];
if (i) cout<<i<<"->";
while (j>0)
{
if (!next_el[j]) cout<<terminal[j];
else cout<<terminal[j]<<", ";
j=next_el[j];
}
cout<<endl;
}
system("pause>>void");
}
0
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
20.10.2015, 00:21  [ТС] 6
Решил свой вопрос. Пусть много действий, но результат достигнут!!!!! Ура. Кому надо держите.
Вложения
Тип файла: rar Проект.rar (4.9 Кб, 23 просмотров)
0
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 1
02.03.2017, 21:06 7
як реалізувати видалення ребра графа?
0
02.03.2017, 21:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2017, 21:06
Помогаю со студенческими работами здесь

Обход графа в ширину для определения всех вершин графа, находящихся на фиксированном расстоянии от данной вершины
Реализуйте обход графа в ширину для определения всех вершин графа, находящихся на фиксированном...

Составить список степеней вершин графа, а также список вершин с одинаковою степенью
здравствуйте, помогите пожалуйста решить следующие задания: 1 Есть граф ((ab) (bc) (bd) (cd)...

Стягивание вершин графа
Помогите пожалуйста написать программу. Граф задан матрицей смежности и формируется случайным...

Раскраска вершин графа
Как можно раскрасить вершины графа, используя минимальное количество красок, имея матрицу смежности...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru