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

Формула программиста
основатель — Волосатов Евгений Витольдович

Материалы мастер класса "Люди на карте"


Вебинар «Мы начинаем PHP + Yii2» начнётся через 19 час. 14 мин.

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

  • На этом уроке я дам определение графа своими словами,
    всё, что запомнил с момента учёбы в университете.
    В конце урока мы зададимся вопросом -
    как хранить граф в памяти компьютера.
  • Дата отправки отчёта: 15 апреля 2016 г.
  • Задание выполнено: за 10 мин.
  • Чему научился: Виды графов
  • Что было сложным: Придумать способ хранения графа
  • Комментарии: Уф. Как-то я не очень хорош в хранении графов =) Лучшее, что смог придумать: вершина - ключ, соединённые с ней вершины - значение (например, массив int). Да, буде куча дублирующиеся информации, но лучше ничего не придумал =)
    ПС: Я это написал до того, как посмотрел вторую половину урока.  Можно создать структуру: вершина и чтобы она содержала ссылки на другие вершины с которыми оно соединена и значение закрашена она или нет. (в C# же можно хранить ссылку на объект, а не его копию?)
    Кстати, покажите класс для хранение графов от microsoft?
  • Оценка видео-уроку:
Отчёт от 9567 за Коллекция графов / Граф




Оцени работу

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


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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: Подумал над представлением графа, как списка вершин и списка ребер: private static List graphVert; private static List> graphRibs; graphVert = new List() {2, 6, 11, 44, 5, 20, 121, 4}; graphRibs = new List>() { new Tuple(2, 6), new Tuple(11, 121) }; graphRibs.Add(new Tuple(44,5)); graphRibs.Add(new Tuple(4, 11)); graphRibs.Add(new Tuple(4, 20)); graphRibs.Add(new Tuple(44, 5));
Трудности: алгоритм для раскидывания вершин на плоскости, что рисунок был наглядным
Спасибо за урок!


Научился: Ознакомился с понятием графа, способом их представления в виде матриц.
Изобретать велосипед снова желания нету. Еще во время вебинара я говорил, что для хранение графа в памяти мы будем использовать коллекции. Поэтому придумать что-то опять не получается.