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

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 พ.ย. 2024

ความคิดเห็น • 69

  • @vladimirfolomeev5697
    @vladimirfolomeev5697 3 ปีที่แล้ว +59

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

  • @Dimkecola
    @Dimkecola ปีที่แล้ว +7

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

  • @tamarazarizina4628
    @tamarazarizina4628 ปีที่แล้ว +5

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

  • @electron4ik123
    @electron4ik123 2 ปีที่แล้ว +15

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

  • @СарматПересветов
    @СарматПересветов 2 หลายเดือนก่อน +1

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

  • @devops8058
    @devops8058 3 ปีที่แล้ว +7

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

  • @TonyStark-b3r
    @TonyStark-b3r 10 หลายเดือนก่อน +2

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

  • @2000diker
    @2000diker 2 ปีที่แล้ว +8

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

  • @Quimorax
    @Quimorax 3 ปีที่แล้ว +17

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

    • @sergeyv1534
      @sergeyv1534 3 ปีที่แล้ว +6

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

  • @МихаилЛебедев-п2и
    @МихаилЛебедев-п2и ปีที่แล้ว +3

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

  • @AspiringToTheBest
    @AspiringToTheBest ปีที่แล้ว +10

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

    • @AspiringToTheBest
      @AspiringToTheBest ปีที่แล้ว +2

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

    • @selfedu_rus
      @selfedu_rus  ปีที่แล้ว +1

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

  • @СергейД-х7щ
    @СергейД-х7щ 7 หลายเดือนก่อน

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

  • @vladpronin5033
    @vladpronin5033 3 ปีที่แล้ว +5

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

  • @ressurextion3690
    @ressurextion3690 ปีที่แล้ว +2

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

  • @МихаилХолостов-р1п
    @МихаилХолостов-р1п 2 ปีที่แล้ว +4

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

  • @friend1cat
    @friend1cat 3 ปีที่แล้ว +8

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

  • @nikitazinchenko2561
    @nikitazinchenko2561 3 ปีที่แล้ว +5

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

  • @elenatalley7899
    @elenatalley7899 2 ปีที่แล้ว +4

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

  • @vitalicpodmarkov2336
    @vitalicpodmarkov2336 ปีที่แล้ว +1

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

  • @Ruslan501
    @Ruslan501 ปีที่แล้ว +2

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

  • @дашука-ч9т
    @дашука-ч9т 2 ปีที่แล้ว +2

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

  • @petersburgpietroburg
    @petersburgpietroburg 3 ปีที่แล้ว +2

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

  • @man05ru
    @man05ru 2 ปีที่แล้ว +6

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

  • @strawberrylynx6259
    @strawberrylynx6259 2 ปีที่แล้ว +2

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

  • @romanbykov5922
    @romanbykov5922 2 ปีที่แล้ว +2

    Спасибо!

  • @gbo4net
    @gbo4net ปีที่แล้ว +2

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

  • @sanyarud5676
    @sanyarud5676 3 ปีที่แล้ว +4

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

  • @blanket8422
    @blanket8422 2 ปีที่แล้ว +7

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

  • @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 в открытом мире с обходом опасных мест написанная на с++. th-cam.com/video/ZWPhXijmpW8/w-d-xo.html

  • @магомедтохчуков-ы3б
    @магомедтохчуков-ы3б ปีที่แล้ว

    спасибо!

  • @dedhood2183
    @dedhood2183 2 ปีที่แล้ว +1

    ТОП!!!

  • @IM-gp9yj
    @IM-gp9yj 3 ปีที่แล้ว +2

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

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว

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

  • @ВикторЖигурда
    @ВикторЖигурда 3 ปีที่แล้ว +2

    👍

  • @playerhs7572
    @playerhs7572 8 หลายเดือนก่อน

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

  • @a_z_i_m240
    @a_z_i_m240 ปีที่แล้ว

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

  • @alexanderivanov899
    @alexanderivanov899 ปีที่แล้ว

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

    • @DenisTrebushnikov
      @DenisTrebushnikov ปีที่แล้ว

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

  • @user709__aaa
    @user709__aaa ปีที่แล้ว

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

    • @selfedu_rus
      @selfedu_rus  ปีที่แล้ว +1

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

  • @EgrNegr-chugun
    @EgrNegr-chugun ปีที่แล้ว

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

  • @vladimireliseev7602
    @vladimireliseev7602 3 ปีที่แล้ว

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

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว +1

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

    • @vladimireliseev7602
      @vladimireliseev7602 3 ปีที่แล้ว

      Благодарю!

  • @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

    Спасибо!!!