0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 51

Добавить и удалить заданное ребро матрицы неориентированного графа

19.04.2021, 15:59. Показов 1350. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно удалить заданное ребро матрицы неориентированного графа, т.е элемент должен меняться на '-'. И функция добавляющая заданное ребро
Python
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import random
import pprint
import copy
 
 
def graph_generator(n, mean_degree, max_weight):
    if mean_degree < 2 * (n - 1) / n:
        mean_degree = 2 * (n - 1) / n
    if mean_degree > n - 1:
        mean_degree = (n - 1)
    num_of_edges = int(mean_degree * n / 2)
 
    W = []
    for i in range(n):
        W.append(['-'] * n)
        W[i][i] = 0
 
    stack = []
    for i in range(n):
        stack.append(i)
    random.shuffle(stack)
    while stack:
        first = stack.pop()
        if stack:
            second = random.choice(stack)
            W[first][second] = W[second][first] = random.randint(1, max_weight)
 
    edges_not_tree = num_of_edges - (n - 1)
    for _ in range(edges_not_tree):
        first = random.randint(0, n - 1)
        second = random.randint(0, n - 1)
    W[first][second] = W[second][first] = random.randint(1, max_weight)
 
    return W
 
 
W = graph_generator(6, 1, 9)
pprint.pprint(W)
 
 
def convert_to_adj(W):
    D = copy.deepcopy(W)
    for i in range(len(D)):
        for j in range(len(D)):
            if D[i][j] == '-':
                D[i][j] = 0
            elif D[i][j] > 0:
                D[i][j] = 1
    return D
 
 
##A = convert_to_adj(W)
print("##########################")
 
 
# pprint.pprint(A)
 
 
def remove_edge(W, u, v):
    D = copy.deepcopy(W)
    for u in range(u, v):
        for v in range(u, v):
            D[u][v] = '-'
            D[v][u] = '-'
    return D
 
 
def add_edge(W, u, v, e):
    D = copy.deepcopy(W)
    for u in range(u, v):
        for v in range(u, v):
            D[u][v] = e
            D[v][u] = e
    return D
 
B = remove_edge(W, 4, 5)
pprint.pprint(B)
print("#####################")
C = add_edge(W, 4,5,6)
pprint.pprint(C)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.04.2021, 15:59
Ответы с готовыми решениями:

Из случайно сгенерированной матрицы удалить ребро и добавить ребро
Нужно написать функции добавления и удавления заданного ребра из матрицы. import random import pprint import copy def...

С помощью поиска в ширину проверить, является ли заданное ребро графа мостом
с помощью поиска в ширину проверить является ли заданное ребро графа мостом.

Как удалить ребро графа(с условием)
Вам задан ориентированный граф, необходимо удалить одно ребро так, чтобы как можно больше вершин стали недостижимы из первой вершины....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.04.2021, 15:59
Помогаю со студенческими работами здесь

Добавить в граф ребро, соединяющее вершину а и b для взвешенного графа
В входном файле указывается количество вершин графа/орграфа и матрица смежности.

Из матрицы инцидентности неориентированного графа сделать матрицу смежности
Помогите сделать блок схему, которая из матрицы инцидентности делает матрицу смежности Добавлено через 15 минут Неориентированный...

Из матрицы смежности в матрицу инцидентности для неориентированного графа
Из матрицы смежности получить матрицу инцидентности. У меня есть программа для орграфа, как ее сделать для неориентированного?Заранее...

Преобразование матрицы инцидентности в список смежности для неориентированного графа
Разработать алгоритм преобразования матрицы инцидентности в список смежности для неориентированного графа Я сделал, но не список...

Программа формирования матрицы смежности по заданному списку окрестностей вершин неориентированного графа
Доброе время суток, не могли бы помочь реализовать эту программу? Не прошу код, но если не трудно можно и с ним, хотя бы какой-то совет,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru