Комментарии 8
И?
Если цель была познакомить читателя с теорией графов, можно было проста дать ссылки на литературу. Например Кристофидес "Теория графов, алгоритмический подход" - хорошая книга для начинающих, хотя большинство приведенных там алгоритмов устарели.
В общем статья выглядит как бессмысленный и бесполезный для читателя копипаст: "Если бы у рыб была шерсть, то мы могли бы выстричь на ней свою рекламу".
Уважайте время и внимание читателей. Не тратьте своего впустую.
Цель статьи — подготовить материал для одноимённой лекции на курсе Отус «Алгоритмы и структуры данных».
Копипаста здесь нет, а есть авторские рисунки к каждому термину, о чём и заявлено в названии статьи. И для целевой аудитории — кто не знаком со всеми перечисленными здесь терминами, такой формат более нагляден и понятен, чем сухие строчки с формулами.
Хорошо, пусть будут рисунки. Если абстрагироваться от рисунков, статья воспринимается просто как набор определений ради определений. Это, как бы, самый отвратительный стиль математических текстов.
Тем не менее я вижу, что Вашу статью активно добавляют в закладки. Ну что же, видимо, свой читатель у Вас есть, хотя это все равно не убирает претензий к жанру.
Я как раз из тех, кому эта статья зашла)
Сейчас решил почитать книгу "Алгоритмы. Построение и анализ" и на главе с графами возникли вопросы по терминологии (в частности, споткнулся на входящих/исходящих степенях)
Эта статья как раз помогла мне быстро заполнить пробел в знаниях (отчасти - благодаря иллюстрациям), и я уже знаю, что мне надо будет гуглить дальше.
Большое спасибо что поделились рисунками. Начал думать с какого материала начать знакомить сына с графами. Ответ найден)
Сводка определений с иллюстрациями, конечно, хорошо. Но это только затравка. Хотелось бы за деревьями и лес увидеть. (Как бы это двусмысленно не звучало.)
Если даётся определение, то хорошо иметь тут же пример применения. Если есть родственные друг другу понятия, то хорошо бы тут же иметь некоторый анализ различий. Например, не смотря на некоторое сходство понятия графа (обыкновенного графа) и понятия орграфа, это — принципиально различные понятия, и смешивать их опасно. ("Внимание! Здесь водятся драконы." / старинная карта/ (с) эпиграф в книге Кнута или Страуструппа) Если описываются графы, то хорошо тут же иметь описание способов их представления и примеры программной реализации и, причём, на различных языках программирования.
Идеально, иметь ещё и некоторую общую перспективу теории графов: современные направления и актуальные задачи.
Список определений совершенно не будет полон без понятия изоморфизма и, вообще, без упоминания проблемы изоморфизма графов. Любая теория строится вокруг реальных задач и теоретических проблем.
Так что сами по себе определения с картинками (кстати, их, наверное, можно многими программными способами нарисовать, и за каждым способом стоит свой программный код! хотя ручные рисунки всегда будут отдавать приятной "ламповостью") можно рассматривать только как затравку для более подробного и более глубокого разговора. Рискнул бы взяться за эту тему.
(Нециклическая Эйлерова цепь существует для графов, имеющих количество нечетных вершин ==2, путь начинается в одной из них и заканчивается в другой — и такие графы называются полуэйлеровыми).
Посмотрел я программу курса (https://otus.ru/lessons/algorithm/?utm_source=habr&utm_medium=affilate&utm_campaign=algo&utm_term=16.07.2021). Выглядит интересно. Есть практика. Курс структурирован. Все бы хорошо, но есть нюанс. Данный курс уж очень похож на курсы Algorithms, Part I и II на курсере. Большое различие, конечно, в цене. За otus за курс просят 89 000, а на курсере - бесплатно)
Теория графов. Термины и определения в картинках