Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Коллекция графов / Граф

  • На этом уроке я дам определение графа своими словами,
    всё, что запомнил с момента учёбы в университете.
    В конце урока мы зададимся вопросом -
    как хранить граф в памяти компьютера.
  • Дата отправки отчёта: 8 августа 2018 г.
  • Задание выполнено: за 2 час. 0 мин.
  • Чему научился: если услово предполжить , что вершины - это индексы, то для хранения графа нам нужно хранить все веришины и индексы смежных вершин, этого будет достаточно, чтоб нарисовать схему графа.
    Поэтому я выбрал следущий вариант через  словарь , где ключи - это индексы вершин, а значение - список, содержащий смежные вершины
         
    Dictionary<int, List <int>> graf = new Dictionary<int, List<int>>();
                graf.Add( 1, new List<int>() { 2 });
                graf.Add( 2, new List<int>() { 1, 3, 4, 5, 6 });
                graf.Add( 3, new List<int>() { 2, 4 });
                graf.Add( 4, new List<int>() { 3, 5 });
                graf.Add( 5, new List<int>() { 2, 4, 8 });
                graf.Add( 6, new List<int>() { 2, 7 });
                graf.Add( 7, new List<int>() { 6, 13 });
                graf.Add( 8, new List<int>() { 5, 9 ,13 });
                graf.Add( 9, new List<int>() { 8, 10 });
                graf.Add(10, new List<int>() { 9, 11 });
                graf.Add(11, new List<int>() { 10, 12 });
                graf.Add(12, new List<int>() { 11, 13 });
                graf.Add(13, new List<int>() { 7, 8, 12, 14 });
                graf.Add(14, new List<int>() { 13 });
  • Оценка видео-уроку:
Отчёт от 17425 за Коллекция графов / Граф




Оцени работу

 
Сохранить страницу:

18493. --
Evgenii Kudriavtcev
Evgenii Kudriavtcev
ответить
→  ser2018  # Коллекция графов / Граф / 2018-08-10 13:20

Все верно, ser2018!
Есть не один способ задания графов, и все они имеют место быть. Отличаются только удобством пользования и использования в тех или иных задачах/алгоритмах.
Помимо этого используются ориентированные графы (транспортные задачи), там кроме вышеперечисленных нужно еще хранить и вес ребра...
Чтобы хорошо ориентироваться в хранении/представление графов, нужно их "пощупать" самостоятельно на практике. Поэтому удачи в освоении графов!


  • Отчёт оценивали:
    17947Dmitry Sinitsin+1   9014Николай Денисов+1   19525Александр Балбашов+1   3922Александр+1   6452Кирилл Шмойлов+1   10494Алексей В.+1   791Валерий Жданов+1   16218Дмитрий+1   17606Виктор+1   10895Danil42Russia+1   18493Evgenii Kudriavtcev+1   17663Oleksandr+1   1Евгений Волосатов+1   8877gorynych+1   6861Den Andreevich+1   459Сергей Сергеевич+1   7645Александр Львович+1   17255Слава+1   Посетитель+1   Посетитель+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Создать класс и создать требуемые поля, потом ссылку на того же типа или массив на все связанные вершины.
Трудности: Графы всегда обходил стороной эту тему, но теперь придется разбираться.



Научился: Узнал основные понятия о графах.
Трудности: Придумать способ хранения графа.
Интересный урок, спасибо.