Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
krvnk
13 / 13 / 10
Регистрация: 01.04.2010
Сообщений: 168
1

Представление графов с помощью связных списков

15.06.2014, 23:43. Просмотров 885. Ответов 5
Метки нет (Все метки)

Здравствуйте уважаемые форумчане. Помогите мне пожалуйста. Никак не могу понять как представить граф с помощью связанных списков. Я так понял нужно использовать двунаправленный список.
Что то типо этого.
Ссыль на предыдущий
Вершина или Ребро
Ссыль на следующий.

Но никак не могу представить как это. Ведь из вершины может выходить не одно ребро. И если брать рёбра, то как они буду ссылать на друг друга. Вообщем помогите глупому)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2014, 23:43
Ответы с готовыми решениями:

Исследование связных списков данных
Пусть дан список студентов. Элемент списка содержит: фамилию, имя, отчество, №...

Объединение двух связных списков с объектами одного типа
Здравствуйте. При изучении связных списков, написал шаблон для связного списка,...

Представление графов С++
Считывания графу из входного файла. На вход подается текстовый файл следующего...

Представление графов С++
#include <iostream> #include <vector> using namespace std; int n; int...

Представление графов. Динамические структуры
Приветствую! Вот есть задание:"По ориентированному графу G постройте...

5
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
16.06.2014, 06:55 2
http://ru.wikipedia.org/wiki/%D0%93%...D0%BA%D0%B0%29
0
krvnk
13 / 13 / 10
Регистрация: 01.04.2010
Сообщений: 168
16.06.2014, 13:37  [ТС] 3
Ребята. Я немного туповат. Не могу представить в голове как выглядит список. Мозг сыпется просто. Нашёл в инэте код. Вроде то что нужно. Объясните пожалуйста.
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
#include <iostream>
using namespace std;
struct node 
{ 
    int v; 
    node* next; 
    node(int X, node* t) 
    { 
        v = X; next = t; 
    }
};
typedef node *link;
int main() 
{ 
    int i, j; 
    link adj[5]; 
    for (i = 0; i < 5; i++) 
        adj[i]; 
    while (cin>>i>>j) 
    {
        adj[j] = new node(i, adj[j]); 
        adj[i] = new node(j, adj [i]);
    }
}
В частности в цикле for зачем нужно писать adj[i], что-то вроде инициализация списка? В цикле while, я не понимаю что там происходит adj это элемент списка и одновременно ссылка которой присваеваевается Ребро? А как потом добраться до этих рёбер?
0
SlavaSSU
217 / 162 / 47
Регистрация: 17.07.2012
Сообщений: 587
16.06.2014, 14:18 4
это на тему графы или на тему списки?
0
krvnk
13 / 13 / 10
Регистрация: 01.04.2010
Сообщений: 168
16.06.2014, 15:41  [ТС] 5
На тему графы. Но нужно сделать через списки. По дурацки звучит конечно.
0
Kuzia domovenok
2327 / 2074 / 482
Регистрация: 25.03.2012
Сообщений: 7,401
Записей в блоге: 1
16.06.2014, 15:55 6
Лучший ответ Сообщение было отмечено krvnk как решение

Решение

строй список: каждый элемент вершина графа + список указателей на связанные с ней элементы.
1
16.06.2014, 15:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2014, 15:55

Быстрая сортировка (сортировка Хоара) для связных списков
есть у кого готовый алгоритм? или подскажите как реализовать

Организовать представление множеств в виде линейных однонаправленных списков
Даны два множества А и В. Организовать представление множеств в виде линейных...

Моделирование с помощью односвязанных списков
задача для курсовой работы.Тема &quot;моделирование с помощью односвязанных...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru