Тёмный
Roman Tsarev
Roman Tsarev
Roman Tsarev
Подписаться
Царев Роман Юрьевич, преподаватель Сибирского федерального университета, представляет на своем канале видео, связанные с информационными технологиями
Merge sort
7:40
7 лет назад
Insertion sort
2:37
7 лет назад
Finding Center of A Graph
4:17
7 лет назад
Ford-Fulkerson algorithm
25:39
7 лет назад
Bubble sort
3:27
7 лет назад
Алгоритм Флойда
8:12
7 лет назад
Peugeot 307 CC
0:40
7 лет назад
Kruskal's algorithm
6:30
7 лет назад
Pulse Coral Xenia
2:01
7 лет назад
Алгоритм Дейкстры
12:07
7 лет назад
Hummingbird hawk-moth
0:39
7 лет назад
Алгоритм Прима
5:39
7 лет назад
Ondatra on the Enisey river
0:32
7 лет назад
Метод Шеннона-Фано
5:50
7 лет назад
Комментарии
@olegderevenets8943
@olegderevenets8943 8 дней назад
Предлагаю книгу "Графомания" (Деревенец О.В.). Алгоритмы на графах реализованы на языке Delphi (Object Pascal) Все исходники и контрольные примеры в наличии. Скачивается бесплатно. Содержание: Знакомство с объектами, отношениями и множествами Представление объектов в языке Delphi Представление множеств, операции с множествами Понятие о сложности (трудоёмкости) алгоритмов Задачи на множествах: • разбиение множества на подмножества; • задача о наименьшем разбиении (ЗНР); • задача о наименьшем покрытии (ЗНП). Представление отношений графами Программная реализация графов, ввод и вывод графов Группа задач на достижимость: • взаимная достижимость вершин; • кратчайшие пути между вершинами; • выделение сильно связанных компонент. Группа задач на размещение: • независимые вершины и клики; • доминирующие множества; • раскраски; • центры; • p-центры; • p-медианы. Остовные деревья Группа задач о потоках: • максимальный поток в сети; • поток, ограниченный сверху и снизу; • минимальная стоимость потока. Паросочетания: • паросочетание в двудольном графе; • паросочетание в произвольном графе. Цикл Эйлера и задача почтальона: • на неориентированном графе; • на орграфе. Задачи Гамильтона и коммивояжёра: • разомкнутая задача Гамильтона; • замкнутая задача Гамильтона (цикл); • комбинирование методов для задач Гамильтона; • замкнутая и разомкнутая задачи коммивояжёра.
@rabdude
@rabdude 10 дней назад
Спасибо огромное!
@romantsarev1145
@romantsarev1145 10 дней назад
Пожалуйста
@John.Constantine.777
@John.Constantine.777 14 дней назад
"дуга", "источник"... ну ты даешь... фу
@romantsarev1145
@romantsarev1145 13 дней назад
Не любо - не слушай. Что касается терминологии, всё там верно.
@John.Constantine.777
@John.Constantine.777 13 дней назад
@@romantsarev1145 проблема в том, братец, что ты своим контентом засоряешь ютюб и найти нормальный материал от адекватных опытных программистов становится сложнее. И это осложняет жизнь таким как я, потому я и высказываю тебе свое негодование твоим контентом, т.е. обоснованно и правомерно.
@olegderevenets8943
@olegderevenets8943 21 день назад
Предлагаю книгу "Графомания" (Деревенец О.В.). Алгоритмы на графах реализованы на языке Delphi (Object Pascal) Все исходники и контрольные примеры в наличии. Скачивается бесплатно. Содержание: Знакомство с объектами, отношениями и множествами Представление объектов в языке Delphi Представление множеств, операции с множествами Понятие о сложности (трудоёмкости) алгоритмов Задачи на множествах: • разбиение множества на подмножества; • задача о наименьшем разбиении (ЗНР); • задача о наименьшем покрытии (ЗНП). Представление отношений графами Программная реализация графов, ввод и вывод графов Группа задач на достижимость: • взаимная достижимость вершин; • кратчайшие пути между вершинами; • выделение сильно связанных компонент. Группа задач на размещение: • независимые вершины и клики; • доминирующие множества; • раскраски; • центры; • p-центры; • p-медианы. Остовные деревья Группа задач о потоках: • максимальный поток в сети; • поток, ограниченный сверху и снизу; • минимальная стоимость потока. Паросочетания: • паросочетание в двудольном графе; • паросочетание в произвольном графе. Цикл Эйлера и задача почтальона: • на неориентированном графе; • на орграфе. Задачи Гамильтона и коммивояжёра: • разомкнутая задача Гамильтона; • замкнутая задача Гамильтона (цикл); • комбинирование методов для задач Гамильтона; • замкнутая и разомкнутая задачи коммивояжёра.
@joshd6044
@joshd6044 28 дней назад
Почему при шифровании через таблицу Виженера и шифровании через ваш способ получаются разные криптограммы? И дело не в сдвиге, проверялись и 0 и 1 и 2, все равно разные получаются
@romantsarev1145
@romantsarev1145 28 дней назад
В каком смысле "мой" способ. Это не мой способ, а Виженера. В видео сначала теория, потом пример. Они друг другу соответствуют. Почему у вас не сходится, я не знаю. Напишите развернуто, что с чем у вас не совпадает попробую ответить.
@joshd6044
@joshd6044 28 дней назад
@@romantsarev1145 я не понимаю, вам в кайф докапываться до слов и душнить? Очевидно, что под словом "ваш" подразумевается тот способ, который вы использовали и показали в видео🤨
@flisbiktv3087
@flisbiktv3087 28 дней назад
Ну преподаватели в МИРЭА лучшие
@romantsarev1145
@romantsarev1145 28 дней назад
Спасибо
@matveyloginov6103
@matveyloginov6103 Месяц назад
Глад Валакас объясняет всем тихо
@midobensaha4958
@midobensaha4958 Месяц назад
Good
@romantsarev1145
@romantsarev1145 Месяц назад
Thank you
@user-pd3bd6kp7q
@user-pd3bd6kp7q Месяц назад
Вот это преподы из МИРЭА живут
@Galina_DV_and_Moscow
@Galina_DV_and_Moscow Месяц назад
Ничего не понятно
@romantsarev1145
@romantsarev1145 Месяц назад
¯\_(ツ)_/¯
@aruzhan6227
@aruzhan6227 2 месяца назад
а откуда нам знать что такие буквы D,G,V,E и т.д ?Чего эти буквы означает и где они находится?или все это формула?
@romantsarev1145
@romantsarev1145 2 месяца назад
G - граф, т.е. совокупность двух непересекающихся множеств: множества вершин V и множества ребер E. D - множество, которое мы формируем в ходе работы алгоритма. Подпробнее об этом в ролике.
@SergTyuboss
@SergTyuboss 2 месяца назад
О'стов, а не осто'в
@romantsarev1145
@romantsarev1145 2 месяца назад
Да
@SergTyuboss
@SergTyuboss 2 месяца назад
А вообще лучше говорить минимальное стягивающее дерево, ну его этот остов-скелет🙂
@user-yu4og4cp6o
@user-yu4og4cp6o 2 месяца назад
А доказательство эффективности где?
@romantsarev1145
@romantsarev1145 2 месяца назад
Нету. Не ставил такой цели
@joshnetman2665
@joshnetman2665 2 месяца назад
Я программист из Калифорнии. Вот ответ на Ваш коммент у Программиста из сан Франциско: Роман сразу меня забанил и стёр коммент: Вот комментарий: Да, невесёлая прогулка, вот магазин детской игрушки закрылся-разорился. Конечно, зачем он нужен, когда все дети поумирали от жизни такой! Российские программисты, приезжайте в США, мне будет веселее с хорошими людьми, но имейте в виду: ваш ребёнок тоже может умереть! А то как, американцы ведь потомки англичан, а англичане-сволочи замучили собачку-тальбота до полного исчезновения. Вот и ваш ребёнок умрёт, а у вас останется только съёмная квартира и старая тойота! Вот тротуар перегорожен от людей, а зачем? - ведь люди то повымирали, никого нет, вон даже статистику смертности мне отказались давать в мэрии Сан Матео, тоже там, видимо, все умерли. Вот бомжи какие-то сидят, дай-ка подойду их поснимаю и с ними поговорю, авось они мне в морду дадут, будет, что рассказать. Нет, не побили, только просили не снимать, недружелюбные какие! Я им сказал, что их не снимаю, а сам снимал, надо же, чтобы в России их посмотрели!
@Chillerambo
@Chillerambo 3 месяца назад
так я не понял, почему a1 и а3 объеденены отдельно. Это потому что все вероятности нужно разделить на две равные группы?
@romantsarev1145
@romantsarev1145 2 месяца назад
Именно так. Сумма вероятностей в отдельных группах должна быть равной по возможности.
@Chillerambo
@Chillerambo 2 месяца назад
@@romantsarev1145 ясно, спасибо
@user-vt2mc9oq8y
@user-vt2mc9oq8y 3 месяца назад
А нельзя сначала было объяснить по человечески, а потом с формулами?
@romantsarev1145
@romantsarev1145 2 месяца назад
Можно
@3a9lll69
@3a9lll69 3 месяца назад
Це відео допомогло мені зробити реферат по цій темі, дякую за добрий контент
@romantsarev1145
@romantsarev1145 2 месяца назад
Пожалуйста. Рад, что помогло.
@sergesergeev5049
@sergesergeev5049 3 месяца назад
Здравствуйте. Что такое граф ?
@romantsarev1145
@romantsarev1145 3 месяца назад
Граф как математический объект есть совокупность двух множеств - множества объектов, называемого множеством вершин, и множества их парных связей, называемого множеством рёбер. Элемент множества рёбер есть пара элементов множества вершин.
@addmagtech
@addmagtech 4 месяца назад
Просто поразительно! Нет-нет да и надо сказать вместо "в 1969-м году" - "в 1989-м году". В инете сплошь и рядом! Когда на картинке не нарисовано, или проверить нельзя то туго приходится...😉
@romantsarev1145
@romantsarev1145 4 месяца назад
Оговорился, когда записывал. Правильно, как на слайде, 1969. Перезаписывать не стал, потому-что на тот момент звук выстроить не смог бы. Однако, если Вы так внимательно слушали, то должны были заметить, что я подчеркиваю, что Матиясевич продолжил этот алгоритм ранее Кнута, Морриса и Пратта. А они это сделали в 1970, опубликовали в 1977. Так что 1989 однозначно отпадает. 🎉
@na_tavie
@na_tavie 4 месяца назад
Доброго времени на добрые дела, Роман! Очень приятно встречать "родных", я в это верю. Мой дедушка и братья Царёвы. Удачи 💗
@romantsarev1145
@romantsarev1145 4 месяца назад
Спасибо! Вам тоже успехов!!!
@freezya6917
@freezya6917 4 месяца назад
я ВАС люблю!!!
@versachannel1273
@versachannel1273 5 месяцев назад
А какого ×уя от е до b ровно 6?
@qusyl247
@qusyl247 6 месяцев назад
я водку пью ты ебнутый мне циферки писать ?
@orangesecurity3908
@orangesecurity3908 6 месяцев назад
спасибо за видео. кратко и понятно 💗
@romantsarev1145
@romantsarev1145 6 месяцев назад
Пожалуйста
@user-uj8jc6nn7v
@user-uj8jc6nn7v 6 месяцев назад
ребята, скиньте код
@romantsarev1145
@romantsarev1145 6 месяцев назад
def insertion_sort(arr): for i in range(1, len(arr)): key = arr[i] j = i-1 while j >=0 and key < arr[j] : arr[j+1] = arr[j] j -= 1 arr[j+1] = key arr = [12, 11, 13, 5, 6] insertion_sort(arr) print ("Sorted array is:") for i in range(len(arr)): print arr[i]
@user-uj8jc6nn7v
@user-uj8jc6nn7v 6 месяцев назад
@@romantsarev1145 спасибо вам
@ginger9400
@ginger9400 6 месяцев назад
Hi how can I contact you
@romantsarev1145
@romantsarev1145 6 месяцев назад
Tsarev.sfu@mail.ru
@oksanamun7645
@oksanamun7645 9 месяцев назад
Я ПО ВЕЧЕРАМ ВИДЕЛА КОГДА ТО В ДОНЕЦКОЙ ОБЛ.... КАК ЖЕ БЫСТРО МАХАЕТ КРЫЛЬЯМИ, В ДЕТСТВЕ ВСЁ ПОЙМАТЬ ХОТЕЛА, А ПОТОМ ОДНАЖДЫ ВЗРОСЛАЯ ХОТЕЛА ПОЙМАТЬ, ТАК ОН, ПОХОЖЕ БЫЛО НАПАЛ... Я ДАЖЕ НЕ ПОНЯЛА, АЖ ПОЛУМАЛА ВДРУГ КУСАЕТСЯ😯
@romantsarev1145
@romantsarev1145 8 месяцев назад
Да, вроде не кусается. А так живтинка, да, интересная
@oksanamun7645
@oksanamun7645 8 месяцев назад
@@romantsarev1145 ДА ЕМУ КУСАТСЯ ТА НЕЧЕМ, ПРОСТО Я МЕШАЛА ЕМУ КУШАТЬ И ОН НА МЕНЯ НАЧАЛ ЛЕТЕТЬ, КАК БУДТО РАЗОЗЛИЛСЯ.
@moonflower2816
@moonflower2816 9 месяцев назад
Спасибо! Просто и понятно!
@romantsarev1145
@romantsarev1145 9 месяцев назад
Пожалуйста
@yolo-cars
@yolo-cars 9 месяцев назад
Спасибо за объяснение! Я написал этот псевдокод на JavaScript, однако, у меня массив [1,4,3,8,5] не упорядочился. В этоге получилось так: [1,3,4,8,5]. Чтобы это работало я во внешнем цикле увеличил диапазон до n, т.е. до длинны массива. Вот фрагмент моего кода внешнего цикла: for(let i = 1; i < arr.length; i++){....}. Здесь arr - это аргумент, который я передаю в функцию по сортировке, т.е. arr - это и есть массив, а вот arr.length - это встроенный метод, который возвращает длину массива. А вообще я изначально думал, как лучше сделать вставку элемента Х, чтобы не менять местами все элементы. Но не придумал. Например, можно добавить элемент Х в нужное место и затем удалить элемент Х из исходного места с помощью встроенных методов для объекта массива array.splice и array.slice, но я думаю, что у каждого под капотом живёт ещё и переиндексация элементов массива, т.е. сложность будет уже не O(n^2), а O(n^4). PS: там в псевдокоде даже когда мы ничего не должны по идее менять, то всё равно происходит присвоение A[j]=x. Я понимаю, что тут уже на сложность O(n^2) это не влияет, но всё как по мне, то неплохо было бы ничего не делать, если ничего не нужно менять. Я проверил эту идею и оборнул весь цикл while и A[j]=x в if-else statement. Теперь если x > A[j-1], то просто идём дальше по массиву вправо.
@romantsarev1145
@romantsarev1145 9 месяцев назад
Отлично
@cleverscript
@cleverscript 11 месяцев назад
так а модуль N чему равен не понимаю... так ведь получается что все суммы последовательностей будут > 5 (если предположить что N = 5, и данный пример сообщение\ключ). Не понятно в какой момент определяется значение N... Это по идее константа, но почему в видео упущен этот момент, он же основной, при дешифровке же тоже нужно знать чему = N! Из комментов понял что N = количеству букв используемого алфавита т.е 26. Не понимаю как можно такие ключевые моменты без которых "пазл" вообще не сложится не объяснять в начале? Остается не понятым момент при дешифровании, почему мы складываем 5 и 26, и не складываем 9 и 26 напрмиер?
@romantsarev1145
@romantsarev1145 11 месяцев назад
Сложение по модулю N в качестве результата имеет остаток от деления обычной суммы слагаемых на модуль N. Например, сложение по модулю 26 чисел 5 и 8 будет 13 (собственно как и без модуля), а сложение по модулю 26 чисел 15 и 18 будет 7 (здесь уже важен модуль N=26, 15+18-26=7). И, да, Вы правы, при дешифровке нужно знать N.
@hello_world_zz
@hello_world_zz 11 месяцев назад
thanks
@romantsarev1145
@romantsarev1145 11 месяцев назад
You are welcome
@hello_world_zz
@hello_world_zz 11 месяцев назад
@@romantsarev1145 Рома, вопрос немного абстрактный - многие алгоритмы ст очки зрения имплементации на C# даются мне легко, а некоторые - как Дейкстра например, затыкаюсь в каком то моменте, теряю связь, нить и т.д. Этот ступор был у меня на некоторых собесах. Как выявить в себе причину тормоза? Буду крайне признателен за совет. Спасибо
@user-ux7vy8fo3o
@user-ux7vy8fo3o 11 месяцев назад
Спасибо, наверное лучшее объяснение на русском языке.
@romantsarev1145
@romantsarev1145 11 месяцев назад
Спасибо
@user-wy9tq1rp7f
@user-wy9tq1rp7f Год назад
В данном моменте 1 итерация - это одного цикла, а во вложенном цикле итераций больше, то есть итерации первого цикла нужно помножить на итерации второго цикла и тогда получится правильное число итераций
@romantsarev1145
@romantsarev1145 Год назад
Что Вы называете итерацией? Я, вернее классики, определяют ее следующим образом: 0:23
@user-wy9tq1rp7f
@user-wy9tq1rp7f Год назад
@@romantsarev1145 итерация - это повторение какого либо действия, математической операции и т.д. В итоге получается в первом цикле происходит сравнение впереди идущих элементов и если их нужно поменять местами, происходит замена элементов (итерация) далее, во вложенном цикле, сравнивается помененный раннее элемент в обратном порядке и при необходимости происходит замена (это снова итерация), чтобы он встал на свое место. То есть получается, что общее кол-во итераций, это количество итераций внешнего цикла, помноженное на кол-во итераций вложенного цикла.
@user-wy9tq1rp7f
@user-wy9tq1rp7f Год назад
@@romantsarev1145 для простоты объяснения, возможно. А когда необходимо разбирать алгоритмы на скорость работы, то тут следует учитывать и итерации вложенных циклов потому, как это сильно влияет на скорость работы алгоритма.
@user-wl6mp6nk2m
@user-wl6mp6nk2m Год назад
Если несовпадающий символ не самый правый/последний в образе то 1. У вас: смещение берём по последнему символк образа 2. Вот тут ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-kvWFAZwZ_8U.html : по несовпадающему символу образа 3. А вот тут ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-N6G6HVwJ4wQ.html : по несовпадающему символу СТРОКИ Почему такие разночтения ?
@romantsarev1145
@romantsarev1145 Год назад
Я от оригинальной статьи авторов алгоритма отталкивался. Про авторов других видео не скажу.
@user-wl6mp6nk2m
@user-wl6mp6nk2m Год назад
@@romantsarev1145 можете ссылку дать ?
@sergtikser8636
@sergtikser8636 Год назад
Мне одному кажется, что пути 1,2,4,3,5 _НЕТ_, так как нет прямого сообщения между 2 и 4?
@romantsarev1145
@romantsarev1145 Год назад
Нет, так кажется всем (я надеюсь). Однако, это очень странный вопрос. В видео ничего не говорится о том, что существует путь 1,2,4,3,5. Ну, потому что его нет. Полагаю, что речь идет об особых путях. Рекомендую пересмотреть, как они расчитываются на каждой итерации: 2:27-4:13 Перед этим будет полезно вспомнить, что такое особый путь, что такое множество S и массив D: 0:35-1:31 После просмотра Вы получите ответ на Ваш вопрос, тот, что между строк.
@meunyaolya3076
@meunyaolya3076 Год назад
спасибо большое! актуально как никогда!!!
@romantsarev1145
@romantsarev1145 Год назад
Пожалуйста!
@Its_Ziko_001
@Its_Ziko_001 Год назад
от 2 на 4 нету же пути. Чет не понятно. И у вас же не получилось путь
@romantsarev1145
@romantsarev1145 Год назад
Да, из 2 в 4 нет пути. Все получилось. Сейчас дам наводку. Полагаю, что речь идет об особых путях. Рекомендую пересмотреть, как они расчитываются на каждой итерации: 2:27-4:13 Перед этим будет полезно вспомнить, что такое особый путь, что такое множество S и массив D: 0:35-1:31 После просмотра у Вас должен отпасть вопрос о пути между вершинами 2 и 4.
@xclamaation
@xclamaation Год назад
Огромное спасибо Вам за такое подробное объяснение!
@romantsarev1145
@romantsarev1145 Год назад
Пожалуйста!
@imhelpy1656
@imhelpy1656 Год назад
модуль n это что
@romantsarev1145
@romantsarev1145 Год назад
n в данном примере 26. Сумма по модулю 26 представляет собой остаток от деления на 26 (тот самый n)
@mojojojo8004
@mojojojo8004 Год назад
Siberian tiger will enjoy this great beast as his favorite feast ........
@romantsarev1145
@romantsarev1145 9 месяцев назад
Indeed
@BritScientist
@BritScientist Год назад
Не могли бы Вы пояснить, почему сложность здесь O(|E| * log|V|)? Кажется, алгоритм выполняет до |V| - 1 итераций и на каждой перебирает все доступные ребра. Похоже на O(|V| * |E|).
@user-ro1jv6gn3n
@user-ro1jv6gn3n Год назад
а что делать, если в матрице Р в одном столбце несколько значений разных, а в каком то столбце вообще нет значений кроме 0(на протяжении алгоритма в матрицах значения в этом столбце не менялись)?Как восстанавливать путь тогда?
@romantsarev1145
@romantsarev1145 Год назад
Что за матрица Р? 🤔
@user-ro1jv6gn3n
@user-ro1jv6gn3n Год назад
@@romantsarev1145 не под тем видео коммент оставил. Я про видео о алгоритме флойда.
@romantsarev1145
@romantsarev1145 Год назад
@@user-ro1jv6gn3n Вы тогда там оставьте коммент, я туда отвечу
@aidananurash2195
@aidananurash2195 Год назад
Здравствуйте! В настоящее время марафоны проводите?
@romantsarev1145
@romantsarev1145 Год назад
Здравствуйте! Пока нет. Перерыв.
@michaelettinger484
@michaelettinger484 Год назад
Отличное объяснение, укажу тебя как спонсора лабы. xD
@romantsarev1145
@romantsarev1145 Год назад
Договорились
@fatfish8272
@fatfish8272 Год назад
Самое простое и понятное объяснение, что я нашел! За 3 минуты понял лучше, чем за несколько часов изучения материала!
@romantsarev1145
@romantsarev1145 Год назад
Рад, что пригодилось!
@Nazarkkk-eh1qk
@Nazarkkk-eh1qk 7 месяцев назад
Ты сортировку выбором несколько часов изучал?)))
@nazarbek_zhunusaliev
@nazarbek_zhunusaliev Год назад
Здравствуйте, нужен ваша помощь
@romantsarev1145
@romantsarev1145 Год назад
Здравствуйте! Если это в моих силах, то помогу. Чем Вам помочь?
@user-wq9oy7hx6z
@user-wq9oy7hx6z Год назад
Спасибо большое. Очень понятное объяснение.
@romantsarev1145
@romantsarev1145 Год назад
Пожалуйста
@zeroflag8724
@zeroflag8724 Год назад
Следующий этап развития пузырьковой сортировки - шейкерная сортировка (Coctail-shaker sort). Это типа двусторонняя пузырьковая сортировка: на первом проходе толкает макс. элемент от начала в конец массива, на втором - мин. элемент от конца в начало и т. д. Работает быстрее пузырьковой в некоторых случаях, например, когда исходный массив отсортирован наоборот... А вообще эти пузырьковые сортировки - учебные, и на практике, в промышленном коде, не применяются. Для массивов с небольшим количеством элементов используют сортировку вставками или выбором.
@romantsarev1145
@romantsarev1145 Год назад
Всё так
@user-gp5tg8jp4u
@user-gp5tg8jp4u Год назад
Спасибо большое! Самое ясное объяснение данного алгоритма)
@romantsarev1145
@romantsarev1145 Год назад
Пожалуйста!
@nicholasspezza9449
@nicholasspezza9449 Год назад
так се объяснение
@romantsarev1145
@romantsarev1145 Год назад
Уж как смог. Сорри
@nicholasspezza9449
@nicholasspezza9449 Год назад
я не буду против, если вы переделаете и перезальёте
@romantsarev1145
@romantsarev1145 Год назад
@@nicholasspezza9449 Уже засучил рукова. Спасибо, что позволили