Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 13.05.2021
Сообщений: 26

Как проверить можно ли построить остовное дерево?

24.06.2021, 06:08. Показов 3221. Ответов 0
Метки 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <vector>  
#include <iostream>
#include <algorithm>  
 
using namespace std;
 
int id[1000], nodes, edges;
pair <long long, pair<int, int>> p[1000];
 
int root(int x)
{
    while (id[x] != x)
    {
        id[x] = id[id[x]];
        x = id[x];
    }
    return x;
}
 
 
void union1(int x, int y)
{
    int p = root(x);
    int q = root(y);
    id[p] = id[q];
}
 
 
long long kruskal(pair<long long, pair<int, int>> p[])
{
    int x, y;
    long long cost, minCost = 0;
 
    for (int i = 0; i < edges; ++i)
    {
        x = p[i].second.first;
        y = p[i].second.second;
        cost = p[i].first;
        if (root(x) != root(y))
        {
            minCost += cost;
            union1(x, y);
        }
    }
    return minCost;
}
 
int main()
{
    int x, y;
    long long weight, cost, minCost;
 
    for (int i = 0; i < 1000; ++i)
        id[i] = i;
 
    cin >> nodes >> edges;
 
    for (int i = 0; i < edges; ++i)
    {
        cin >> x >> y >> weight;
        p[i] = make_pair(weight, make_pair(x, y));
    }
 
    sort(p, p + edges);
    minCost = kruskal(p);
    cout << minCost;
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.06.2021, 06:08
Ответы с готовыми решениями:

как по этих данных построить граф и остовное дерево минимальной длины?
Maemo graph: Vershin:5 Reber:10 1-2: 4 1-3: 8 1-4: 4 1-5: 1 2-3: 9 2-4: 1 2-5: 5

Построить минимальное остовное дерево
Всем приветик. Помогите пожалуйста построить минимальное остоное дерево по условию:

Построить минимальное остовное дерево
Построить минимальное остовное дерево используя минимальный алгоритм Крускала Wдерева = ∑ wy = 1+1+2+5 = 9 Реализовать – это все: ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.06.2021, 06:08
Помогаю со студенческими работами здесь

Построить остовное дерево минимальной стоимости
Построить остовное дерево минимальной стоимости Правила форума, пункт 4.3. Создавайте темы с осмысленными и понятными названиями - это...

Методом Крускала построить остовное дерево минимальной строимости
Доброго времени суток! Прошу помочь разобраться с программой. Ввод данных есть и есть ввод веса ребер. Задание: Разработать...

Как найти минимальное остовное дерево через матрицу смежности?
Как найти минимальное остовное дерево имея только матрицу смежности

Как найти минимальное остовное дерево через матрицу смежности?
Может кто подскажет алгоритм для нахождение минимального остовного дерева графа?

Как найти минимальное остовное дерево через матрицу смежности?
У меня есть форма в которой вводится матрица смежности графа. Может кто подскажет алгоритм для нахождение минимального остовного дерева...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru