#3. Алгоритм Дейкстры (Dijkstra’s algorithm) | Алгоритмы на Python

Поделиться
HTML-код
  • Опубликовано: 1 дек 2024

Комментарии • 69

  • @vladimirfolomeev5697
    @vladimirfolomeev5697 3 года назад +59

    Спасибо за Ваши старания! Не останавливайтесь, пожалуйста, Ваш канал по справедливости оценит аудитория и у Вас ещё будут миллионы просмотров.

  • @Dimkecola
    @Dimkecola Год назад +7

    Дай бог тебе здоровья и денег кучу! Чтобы я делал без тебя! Спасибо Вам огромное за труд.

  • @tamarazarizina4628
    @tamarazarizina4628 Год назад +5

    Вы идеальный преподаватель, желаю Вам всего самого лучшего)

  • @electron4ik123
    @electron4ik123 2 года назад +15

    Прохожу Ваш курс по ООП, узнал о лекциях по алгоритмам. Спасибо большое за проделанную работу.

  • @TonyStark-b3r
    @TonyStark-b3r 10 месяцев назад +2

    Спасибо за урок.Вы делаете великое дело,жаль вы не мой учитель по информатике.Дай бог вам здровья и успехов

  • @СарматПересветов
    @СарматПересветов 3 месяца назад +1

    Спасибо. В идеале конечно алгоритм должен искать не только расстояние но и кратчайший путь

  • @2000diker
    @2000diker 2 года назад +8

    Спасибо!!!
    В коде, при выборе v не 0, функция arg_min может возвращать значение 0, а значит условие "if v > 0:" не выполнится.
    При условии "if v >= 0" все работает чётко!
    Ещё раз спасибо большое за объяснения!!

  • @devops8058
    @devops8058 3 года назад +7

    Я рад что попал на этот канал а то по разным местам собирал инфу

  • @МихаилЛебедев-п2и
    @МихаилЛебедев-п2и Год назад +3

    Большое спасибо за проделанную работу!

  • @МихаилХолостов-р1п
    @МихаилХолостов-р1п 2 года назад +4

    Спасибо! Сейчас буду до конца разбираться в реализации, но в целом все понятно объяснили.

  • @AspiringToTheBest
    @AspiringToTheBest Год назад +10

    Один из немногих нормальных ютуберов, который делает все в одном месте, понятно и качественно. А главное старается помочь аудитории и экономит время, за что отдельный респект! Не останавливайся!) (p.s. летом тоже хочу канал начать вести, может посоветует кто что по тематике?))

    • @AspiringToTheBest
      @AspiringToTheBest Год назад +2

      лол а почему в репе отличается код для дейкстры? 😅

    • @selfedu_rus
      @selfedu_rus  Год назад +1

      @@AspiringToTheBest возможно, что-то правил потом, не помню уже. А по тематике канала, лучше брать то, что нравится и в чем разбираетесь, иначе будет тяжко )) Успехов!

  • @friend1cat
    @friend1cat 3 года назад +8

    Спасибо, Сергей!

  • @ressurextion3690
    @ressurextion3690 Год назад +2

    Прохожу ваш курс по ООП! Спасибо вам!

  • @Сергей-111
    @Сергей-111 7 месяцев назад

    Провозившись несколько дней с испытаним "Бремя наследия" могу сказать "спасибо". Спасибо за то что по этому видео его выполнить невозможно. За то, что здесь отсутствует часть алгоритма по поиску собственно, маршрута (и понимание, что описание неполное и надо искать дальше приходит далеко не сразу). За то, что, как оказалось, программа на Git отличается от описания тут. И спасибо за то, что описания направленных и ненаправленных графов тут нет (а в тестах-то они есть). Просто великолепно...

  • @nikitazinchenko2561
    @nikitazinchenko2561 3 года назад +5

    Спасибо, очень полезная информация !!!

  • @elenatalley7899
    @elenatalley7899 2 года назад +4

    Спасибо! лучшее объяснение!

  • @vitalicpodmarkov2336
    @vitalicpodmarkov2336 Год назад +1

    Спасибо, очень просто и понятно))

  • @vladpronin5033
    @vladpronin5033 3 года назад +5

    Спасибо! За такое изложение алгоритмов нельзя скипать рекламу)

  • @дашука-ч9т
    @дашука-ч9т 2 года назад +2

    Спасибо огромное, очень помог💖

  • @Ruslan501
    @Ruslan501 Год назад +2

    Ох, чел. Спасибо тебе!!!

  • @Quimorax
    @Quimorax 3 года назад +17

    Похоже что новый плейлист "Алгоритмы" не за горами)

    • @sergeyv1534
      @sergeyv1534 3 года назад +6

      Вот эти алгоритмы, крайне желательно:
      Линейная регрессия.
      Логистическая регрессия.
      Деревья решений.
      Метод опорных векторов.
      Метод k-ближайших соседей.
      Алгоритм случайный лес.
      Метод k-средних.
      Метод главных компонент.

  • @petersburgpietroburg
    @petersburgpietroburg 3 года назад +2

    Спасибо большое! Всё понятно стало.

  • @strawberrylynx6259
    @strawberrylynx6259 2 года назад +2

    спасибо за старания!!!

  • @man05ru
    @man05ru 2 года назад +6

    Один момент не совсем понятно. Объясните Сергей как после построения этой таблицы строить мин-й маршрут ?

  • @romanbykov5922
    @romanbykov5922 2 года назад +2

    Спасибо!

  • @dedhood2183
    @dedhood2183 2 года назад +1

    ТОП!!!

  • @gbo4net
    @gbo4net Год назад +2

    Я тоже в начале не понял что это за вес такой что за цифры и откуда они взялись )))))
    Надеюсь вы не убежали сразу же как только поняли что ничего уже в начале не понимаете )))
    Я смотрел 3 раза что бы сообразить что за вес дуг )))))
    Для тез кто на первых минутах не понял что это за цифры ВЕС ДУГ. Имеется в виду некий промежуток времени или некое расстояние между точками. Допустим из этого графа (маршрута) от точки 1 до точки 2 расстояние 3 км или 3 часа. А от точки 1 до точки 4 расстояние 3км или 3 часа.
    Почему часы или километры ? Не важно, важно, что время затраченное или расстояние, от некой точки до некой точки составляет некую величину. И исходя из этих величин рассчитывается расстояние на которое вы потратите меньше времени или пробежите меньше километров.

  • @tip_2469
    @tip_2469 2 года назад +4

    Можешь написать как в этой программе получить кратчайший путь до той же точки 5 или 2? номер целевой точки в идеале поместить в переменную. Тут суммируется длина к ним но как сам путь получить?

    • @tip_2469
      @tip_2469 2 года назад +1

      Попробовав утром и смог разобраться в этом питон коде и понять сам чёткий алгоритм действий

    • @artyr4an271
      @artyr4an271 Год назад

      привет, смог разобраться?
      @@tip_2469

    • @artyr4an271
      @artyr4an271 Год назад

      подскажи как ты сделал цель например до 5, а еще если смог начальную вершину запихнуть в переменную, например путь от 3 до 5, то буду благодарен)@@tip_2469

    • @tip_2469
      @tip_2469 Год назад

      @@artyr4an271 Я уже и не помню как переделывал этот скрипт. Сейчас это часть большой системы навигации AI в открытом мире с обходом опасных мест написанная на с++. ruclips.net/video/ZWPhXijmpW8/видео.html

  • @магомедтохчуков-ы3б

    спасибо!

  • @sanyarud5676
    @sanyarud5676 3 года назад +4

    Ппц я это знаю. Но не так подробно. Спасипка большое

  • @ВикторЖигурда
    @ВикторЖигурда 3 года назад +2

    👍

  • @IM-gp9yj
    @IM-gp9yj 3 года назад +2

    Здравствуйте, это же только для двунаправленных графов?
    Будет видео для однонаправленных графов?

    • @selfedu_rus
      @selfedu_rus  3 года назад

      Пока нет, но вы можете и сами его модифицировать для однонаправленных

  • @playerhs7572
    @playerhs7572 8 месяцев назад

    Нифига не понял, но очень интересно!

  • @blanket8422
    @blanket8422 2 года назад +7

    Можно вариант кода, где переменные записаны словами, а не буквами. Пожалуйста, сложно код разбирать

  • @a_z_i_m240
    @a_z_i_m240 2 года назад

    привет с тобой можно как-то связаться?
    у меня матрица 18на18 не работает

  • @user709__aaa
    @user709__aaa Год назад

    подскажите пожалуйста, какая асимптотика у данного алгоритма? за сколько работает?

    • @selfedu_rus
      @selfedu_rus  Год назад +1

      если не ошибаюсь O(n^2)

  • @alexanderivanov899
    @alexanderivanov899 Год назад

    А как алгоритм знает между какими вершинами есть связь, а какими нету?

    • @DenisTrebushnikov
      @DenisTrebushnikov Год назад

      таблица смежности D. Вбита вручную на строках 20-25, в ней 0 - отсутствие связи, всё, что больше 0 - означает связь есть, а само значение - вес этой связи.

  • @vladimireliseev7602
    @vladimireliseev7602 3 года назад

    Извиняюсь, а где ссылочка на показанную в видео реализацию алгоритма на github?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      github.com/selfedu-rus/python-algorithms (файл algorithm-dikstry.py)

    • @vladimireliseev7602
      @vladimireliseev7602 3 года назад

      Благодарю!

  • @EgrNegr-chugun
    @EgrNegr-chugun Год назад

    не понял код,видимо я еще слишком чайник(

  • @MrIgor989
    @MrIgor989 3 года назад

    порекомендуите книги по алгоритмам

    • @selfedu_rus
      @selfedu_rus  3 года назад +2

      Классика - это Вирт Н. Алгоритмы и структуры данных

    • @MrIgor989
      @MrIgor989 3 года назад

      @@selfedu_rus Спасибо

    • @КириллНечаев-ц5р
      @КириллНечаев-ц5р 3 года назад +2

      @@selfedu_rus допустим, я хочу начать с третьей вершины, значит стартовый элемент я должен поменять на 2. (v=2.) Но алгоритм зацикливаться тогда. Подскажи, пожалуйста, как исправить?

    • @tanteriaaa
      @tanteriaaa 2 года назад +1

      @@КириллНечаев-ц5р жиза. Тоже никак не могу найти ошибку

  • @smartman-ef7wh
    @smartman-ef7wh 2 года назад +2

    А саму матрицу смежности программист вручную, на бумажке чертит и вносит ее в программу и будет играться с ней?

  • @nicolasray6257
    @nicolasray6257 Год назад +1

    меня убивают эти названия переменных

  • @staylonely9743
    @staylonely9743 Год назад +7

    ужасное название переменных))

    • @lil_landau
      @lil_landau Год назад +1

      Зачем тебе нормальный нейминг, если это маленькая и локальная программа, которая не выйдет за пределы этого ролика...

    • @LizavetaSakalova
      @LizavetaSakalova 8 месяцев назад +1

      По этому комменту можно понять, что кто-то не решает алгоритмические задачи)

  • @freaxlover
    @freaxlover Год назад +1

    Спасибо, бро

  • @ИванЕвдокимов-л6ь
    @ИванЕвдокимов-л6ь 9 месяцев назад +2

    Здравствуйте. К сожалению ваш код не рабочий - программа зависает при таких данных:
    Matrix:
    0 4 4 2 4
    4 0 10 1 7
    4 10 0 9 1
    2 1 9 0 4
    4 7 1 4 0
    start: 1, end: 2
    На строчке: end = M[P[-1]]. M[P[-1]] возвращает ноль и так по кругу в бесконечном цикле

    • @selfedu_rus
      @selfedu_rus  9 месяцев назад

      Бывает и такое )

  • @kosk4306
    @kosk4306 9 месяцев назад +1

    пиздец какой-то... нет, я, конечно, всё понимаю, но этого я не понимаю...

  • @mixa_football_ru
    @mixa_football_ru 6 месяцев назад +1

    Спасибо!!!