How To Learn Algorithms? Why?
ฝัง
- เผยแพร่เมื่อ 26 ธ.ค. 2018
- Blog Post in English: codonaft.com/how-to-learn-alg...
🎓 МАТЕРИАЛЫ к видео: bit.ly/3vksKMz
7 методов разработки алгоритмов простыми словами.
Как алгоритмы связаны с машинным обучением?
00:31 Зачем это изучать?
01:40 Методы разработки алгоритмов
02:08 #1. Метод грубой силы / полный перебор / исчерпывающий поиск (Brute-Force)
03:23 Что делать, когда не получается решить задачу?
03:38 #2. Разделяй и властвуй / метод декомпозиции (Divide and Conquer)
04:26 Уменьшай и властвуй (Decrease and Conquer)
04:53 Примеры задач
05:40 #3. Динамическое программирование (Dynamic Programming)
06:02 Сверху вниз / Мемоизация (Top-down / Memoization)
06:53 Снизу вверх / Табуляция (Bottom-up / Tabulation)
07:07 Примеры задач
07:34 #4. Жадный алгоритм (Greedy Algorithm)
09:01 Примеры задач
09:33 #5. Поиск с возвратом (Backtracking)
10:09 Метод ветвей и границ (Branch and Bound)
11:43 Примеры задач
11:56 #6. Локальный поиск (Local Search)
12:47 Суть
13:10 Примеры задач
13:34 #7. Преобразуй и властвуй / метод преобразования (Transform and Conquer)
14:01 Примеры задач
14:42 Анализ алгоритмов и другое
15:13 Так всё-таки зачем?
17:50 Итоги
Использованные видео:
• • Введение в системное м...
• • K-Means Clustering - T...
• • 017. Малый ШАД - Алгор...
• • MERGE SORT ALGORITHM |...
• • Lecture 19: Dynamic Pr...
• • Dynamic Programming
• • What is backpropagatio...
• • Как устроен формат mp3?
• • Gradient descent, how ...
• • Fog in the Forest - Al...
Использованная музыка (распространяется на условиях лицензии CC BY 4.0):
• Chris Zabriskie - CGI Snake
• Chris Zabriskie - Wonder Cycle
Кодонафт в соцсетях:
• Telegram: t.me/codonaft_official
• Facebook: / codonaft
👍 Поблагодарить меня можно поделившись этим видео с друзьями
❤️ Другие способы поддержать: codonaft.com/ru/sponsor
#алгоритмы #программирование #учеба #codonaft
я по превьюшке подумал что ты будешь говорить что это все от лукавого и нужно молиться)))
добре)))
У технарей отличное чувство юмора
орнул
👏👏👏
Аминь брат )
Голос четко поставлен, слушать приятно, но ты моргай плз
это бот
😄 😄 😄
у него много склеек(я капитан очевидность)
@@ozaliummilfg4520 спецом чтобы не моргать
)))
nowadays Jesus teaches us programming
да, у него вид медийного Иисуса
Самозванец. Настоящий Иисус -
Volodya Mozhenkov.
Your comment made my day!
Omg, Jews lied us 2000 years. Jesus is Russian
Максим Черемисов Originally this guy spoke in English. It’s just translation
Приятно удивлён сочетанием:
а) концентрации информации (без повторов и растекания мысли по древу)
б) целостности рассказа (как упомянуты общие цели, так и приведены детали)
в) дикции рассказчика
Почти идеальное summary. Респект. 8)
У человека практикующего и мозг структурирован.
он же использует алгоритмы
По древу мысью растекаются, а не мыслью. Мысь - это мышь, белка по старорусски.
Это же не человек, он даже не моргает
да тоже хотел сказать. практически идеальная манера изложения для образовательного видео.
Боже как это понятно рассказано. Я дальше сортировок не уходил,а тут прям повод есть использовать их где-то еще.
Спасибо за видео .
получил удовольствие от прослушенного, особенно порадовало краткое резюме в самом конце. ты молодец!
Спасибо за видео, пожалуй после просмотра этого видео начну свой долгий и тернистый путь в долину алгоритмов)
Я вообще не программист в традиционном понимании (но серьезно занимаюсь "работой с информацией") и это очень неожиданно: не только услышать заявку на системность, но и реальное раскрытие заявленной темы. Благодарю! И забейте, пусть другие моргают, бреются и все такое.. наличие змызлов все компенсирует)
Половина кажется чем-то простым(то, что изучала и писала), а что-то просто невероятным чем-то😅 Спасибо за видео, оно классное и проясняет куда двигаться дальше😌
Начал смотреть, очень удивила такая нарезка с непрерывным потоком информации - на самом деле очень четко и понятно, однозначно лайк❤
00:31 Зачем это изучать?
01:40 Методы разработки алгоритмов
02:08 #1. Метод грубой силы / полный перебор / исчерпывающий поиск (Brute-Force)
03:23 Что делать, когда не получается решить задачу?
03:38 #2. Разделяй и властвуй / метод декомпозиции (Divide and Conquer)
04:26 Уменьшай и властвуй (Decrease and Conquer)
04:53 Примеры задач
05:40 #3. Динамическое программирование (Dynamic Programming)
06:02 Сверху вниз / Мемоизация (Top-down / Memoization)
06:53 Снизу вверх / Табуляция (Bottom-up / Tabulation)
07:07 Примеры задач
07:34 #4. Жадный алгоритм (Greedy Algorithm)
09:01 Примеры задач
09:33 #5. Поиск с возвратом (Backtracking)
10:09 Метод ветвей и границ (Branch and Bound)
11:43 Примеры задач
11:56 #6. Локальный поиск (Local Search)
12:47 Суть
13:10 Примеры задач
13:34 #7. Преобразуй и властвуй / метод преобразования (Transform and Conquer)
14:01 Примеры задач
14:42 Анализ алгоритмов и другое
15:13 Так всё-таки зачем?
17:50 Итоги
🎓 Подборка материалов и другие бонусы: bit.ly/2SngkLo
👍 Поделитесь этим видео с друзьями!
IT-индустрии очень не хватает хороших разработчиков сейчас!
Добрый день. Хочу выбрать и изучить набор алгоритмов, которые на мой взгляд нужно знать как базу. А чтобы понять что такое база, нужно как минимум нарисовать mindmap схему. Но мне трудно это сделать. Уже более 10 лет в программировании, но всегда всё сводилось к использованию библиотек. Сейчас погуглил книги и видео в ютубе. Пролистал довольно много оглавлений книг начиная с небольших книг и заканчивая "Алгоритмы, построение и анализ(Кормен Лейзерсон ...)". И понял, что не могу составить хоть какую-то структуру в голове, которая отвечает на все вопросы, которые помогли бы мне составить mindmap для последовательного изучения от простого к сложному.
Вот и у вас тоже больше мотивационное видео, чем некая понятная структура всех алгоритмов.
Вот в этом интересно разобраться. Можете какую-то структуру по набору алгоритмов, например из той же книги "Алгоритмы, построение и анализ(Кормен Лейзерсон ...)" взять и как-то структурировать с комментариями?
И ещё такой вопрос прикладной. Недавно был на собеседовании и задали задачку : есть массив 10^5 элементов(много в общем) и нужно элемент, который ближе к концу массива переместить ближе к началу. При этом, все элементы из начала должны сместиться к концу.
Это к тому, что хочу уметь искать решения подобных задач с точки зрения того, в каком разделе книги "Алгоритмы, построение и анализ(Кормен Лейзерсон ...)" находятся решения подобных задач.
За чем так быстро подавать материал !? Лучше больше роликов но более детальный обзор по каждому и первая вводная должна быть более связующей и обобщений для правильного вложение материала скажем как основа а остальное второстепенно стройте дерево а не лианы и кусты . Выдача вашего материала как град созревших яблок когда трусишь дерево . Нужно добавить чуток лёгкой беседы вы же не у доски стоите , чуток теплее подачу . Все проще чем кажется )))
Два года прошло, но... Это сообщение пришпилить надо.
Респект ✊🏼 ещё видео уроки плиз 🥺
Великолепный видосик! Эпизоды студию! Блестяще!!!!
Thanks for the detailed explanation. This question has had me tied up for a long time.
Спасибо, человек. Ты дал мне мотивацию! и образ мышления компаний.
Очень классно рассказываете, очень приятно слушать. Благодарю за изложение. Успехов))
Изумительно! Спасибо большое. Все четко, понятно.
Благодарю за отличную работу! Хорошая подача материала и отличнейший видеоряд !!!
Привет! очень круто рассказано, очень интересно увидеть бы развитие темы т.е. плейлист по алгоритмам и структурам данных
Я много раз использовал "градиентный спуск" даже не заморачиваясь, считая этот метод своим костылём, из-за неумения сделать лучше, а оказывается что это настоящий рабочий метод решения задач ))
Same)
Интересно и доступно объяснено. Спасибо!
Отличное видео, большое спасибо
Появилось желание изучить алгоритмы
Очень интересное видео. Автору респект и большое спасибо за ссылки на материалы
Привет, прошу выпускай ещё видео, очень зашло
Саша, очень интересно подаешь информацию! Спасибо, подписался! ;)
как же круто ты приподнёс инфу. всё, грокаю алгоритмы теперь
Максимально ясно, доходчиво и без воды. Люблю такой формат. Мой запрос: что-нибудь по Big Data, AI в той же манере.
что тут будет ясного для самоучек не пойму. Просто так запустить самоучек учиться алгоритмам зря, если самоучка то лучше получать реальный рабочий опыт, и тогда будешь понимать что действительно нужно.
Вот если бы я был самоучкой то(согласно ролику) решил бы, что нужно идти изучать преобразование фурье, ну я эту тему проходил в универе, и могу сказать, что самому реализовывать этот алгоритм нету ни какой необходимости есть библиотеки. То что, ты сам в ручную можешь написать разложение в ряд Фурье мне кажется не является плюсам в глазах работодателя. Просто да дает лично разработчику лучшее понимание темы и т.д., по этому если хочешь прокачать мозги это одно, а если решать задачи бизнеса, то там не всегда нужно прям такое доскональное понимание, скорей важно ориентироваться в не знакомой обстановке, потому как доскональное знание это узко направленное дело, а задачи бизнеса это более широкий спектр задач.
А гугл так отбирает, конденсатов, только в силу то го, что там сильно много желающих, по этому и вводится дополнительные критерии для отбора.А если стоит задача там с bigData работать, так проще получить доп образование в Универе и так сказать с математическими познаниями уже оперировать.
Спасибо за Вашу работу. Пожалуйста, продолжайте. Учиться буду у Вас в том числе
Можно еще видео по алгоритмам!
Сложно все и сложно будет всегда, а учится хочется ещё сильнее чем мне сейчас сложно, поэтому любые видео по алгоритмам очень жду! Спасибо тебе!
За много лет впервые дошло. Идеально объяснил
Толково раскладываете тему. Интересно. Спасибо!
Чувак ты очень сильно мотивируешь.Продолжай снимать ролики.
Глубокий и хорошо осведомленный специалист, молодец, отлично мотивируете, нас лентяев.
Очень круто, пожалуйста продолжай создавать! Очень классное видео, дохотчево, простым языком и интересно. Не останавливайся!
Алгоритмы это сложная дисциплина но очень очень эффективная!
жду продолжения с нетерпением!
Зашел на ваш канал, отвечая на вопрос в коментах ютуба: зачем нужно учить "алгоритмы и структуры данных".
Сразу же подписался, отлично излагаете. Пожалуйста, продолжайте развивать канал, у вас отлично получается.
Так, с алгоритмами понятно, а что такое структуры😄☺️ Очень доходчиво, лучшее введение в дисциплину, бакалаврам нужно такое включать! Спасибо, за дельное видео! Подписка
Дружище , ты единственный из всех блогеров, которому я готов платить за обучение.
Жаль что подписоты мало, но все в переди!
@You Tube Скорее ты повод ищешь, чтобы всем одну свою извилину показать)
@@sergeys9119 урыл, получается)
@You Tube обучатЬся
Класс! И спасибо за новый термин "Акцентрация внимания". Емко и сильно)))
Ну вот, и видео такая годнота, и комментарии до сих пор лайкаешь, очень жаль что перестал выпускать контент
даже буква понимает алгоритмы...
Спасибо за подбор материалов
Спасибо, ждем новых видео)
Дай Бог тебе здоровья добрый человек за то, что меньше, чем за 20 минут, ты смог объяснить на порядок больше, чем Кнут своим тысячестраничным талмудом
у Кнута и не стоит задача заинтересовать тебя. Он занят тем, что объясняет уже заинтересованным.
@@AlexCSharp здесь вопрос интереса не стоИт совсем, только вопрос выбора: я предпочту за 20 минут уловить суть и при необходимости погрузиться в деталь, чем тратить недели в ожидании "а когда же уже суть/вывод будет-то"? Не говоря уже про типичный забугорный формат повествования, когда первые 30-40 листов книги можно пропустить, потому что там "спасибомамепапебабушкесобаке" и далее на каждых десяти страницах размазано так, что можно уместить на одну. Краткость - сестра таланта😉
@@johnsilver1988 Ну, первые страницы у всех, хороших в том числе, книг, как раз посвящены вступлению. Не вижу в этом проблемы, ведь есть оглавление.
Книги по программированию не надо читать как художественную литературу, это больше справочная информация: созрел до чего-то, узнал что-то - ищешь решение или погружаешься в это. Я все книги обычно читаю прыгая с главы на главу, постепенно, параллельно несколько, иногда по разным темам. Типа одна по платформе - погружаюсь в инструменты и подкапотное, другая по архитектуре - погружаюсь в... Понятно, архитектуру, и 3 по кодстайлу - проверяю свой стиль, и т.п.
Ну и плюс источник никогда не должен быть один, никогда. Вот ты что-то у Кнута почитал, не понял, глянул ютубчик - вектор появился, вернулся к Кнуту - понял больше, прыгнул на Стивенса или Бхаргаву - бац, картина мира сложилась.
@@AlexCSharp Согласен
@@AlexCSharp вот спасибо за коммент, а то ругаю себя за перескоки по главам. Оказывается это вполне рабочая модель самообучения.
Спасибо, очень информативное видео!
Очень грамотно и правдиво, я аж прослезился.
Автору спасибо за видео. Информация и в правду нужная и достаточно хорошо разложенная, но есть не большой момент...
Дело в том, что я, например, чаще всего не советую начинающим разработчикам капаться в алгоритмах и структурах данных, предлагая в качестве альтернативы более прикладные вещи. Причина моих поступков заключается в том, что глубокое изучение алгоритмов и структур данных - это слишком большой объем информации, которые без практического использования плохо воспринимаются людьми, а в добавок человек получит два минуса:
1. Он всё еще не может написать программу, которая будет иметь практическую пользу, как следствие человек теряет мотивацию
2. Человек все равно не сможет иметь представления, как эти знания использовать, к тому же, часть вещей он забудет.
Не правильным тезисом для человека будет то, что есть некоторый "лимит" знаний, по достижению которого, процесс обучения будет завершен, поэтому "нужно ли учить алгоритмы" - вопрос не корректный с точки зрения формулировки вопроса. Правильным вариантом будет:
"Когда необходимо начать изучение алгоритмов". И именно на этот вопрос многие отвечают не правильно или вовсе не отвечают
всё-же минимальный набор алгоритмов и структур данных должен быть изучен с самого начала. Массив, список и дерево, хеш-таблица. Сортировки: пузырьком, вставкой, бинарным деревом. Хорошо, если ещё что-то с графом (тот-же поиск кратчайшего пути). Т.к. они задают минимум представлений.
И соответственно вопрос будет звучать - когда стоит углубятся в изучение алгоритмов и структур данных?
И тут ответов думаю только 2:
• когда возникнет необходимость (проект потребует);
• когда возникнет желание поработать над собой (отточить/развить навыки мышления, написания и анализа кода).
@@valeriytereshchenko6198 так вот прикол в том, что половину этих вещей начинающий разраб изучит параллельно. Буквально взять какой нить допотопный jquery. При манипуляции с dom человек сможет на базовом уровне освоить теорию графов. Это ведь не рокет сайнс.
@@UnrealSPh в случае "узнавания о дереве через тот-же jquery" - кто вам будет говорить об оценках алгоритмов (по количеству операций и памяти и соответствующим взаимосвязям со структурами данных)?
теория - она в том и полезна, что она абстрактна. Т.е. отбрасывает всё кроме значимых граней/деталей.
странно программистом называть субъекта, который легко работает с селекторами и способен добавить пару плагинов к вёрстке, но не сможет написать и пояснить работу пузырька. Это скорее продвинутый верстальщик, нежели программист.
спасибо за отличное видео и ссылки на ресурсы!
Воууу, только наткнулся на твой канал, ты потрясающий лектор, спасибо огромное ))
1) полезная и структурированная информация
2) шикарный голос и грамотная речь (за отдельный плюс)
3) ролик не превышает время концентрации
В общем интересно, приятно и образовательно
Спасибо огромное за твои труды
Очень здорово! Спасибо!
супер, не надо видео ускорять, умеете повествовать, спасибо за контент
Спасибо огромное! То что нужно, вдохновился
Александр, куда же вы пропали? Офигительный контент)
Очень круто ) спасибо тебе большое.
шикарно, спасибо большое
Благодарю очень интересно и доступна для зеленого человечка в программировании
Просто и понятно. Похоже я знаю чем займусь следующие месяцы.
Классное видео. Познавательно. Пошел учить алгоритмы. Хороший текст и поставленный голос с паузами где надо.
Какая приятная и чистая речь. Слушал и наслаждался.
Лайк за обстоятельный подход и короткие очень ясные примеры.
красава братан! мотивируешь!
Круто изложено , продолжайте !
так круто объяснил, высший пилотаж, ато на лекции по алгоритмам я ничего не понимала, что зачем, просто тупо гуглила, а сейчас прям интересно стало внедрить для решения своих повседневных дел. Зато теперь точно сдам предмет как надо. Большая благодарность за видос.
Лучшее видео про алгоритмы, которое я видел.
Александр, снимаю колокол за максимально быстрое пояснение необходимости алгоритмов.
Спасибо, Саша! Толковое видео.
Спасибо за мотивацию!
Класс! Спасибо!
Спасибо за объяснение)👍
Отличный материал!
Классно сделал, спасибо )
Очень интересно, спасибо!
nice balance between depth and width of information)
Спасибо тебе большое, я считаю что без понимания этой дисциплины создать что то уникальное не получится.
Оооооотличный видос-маршрутизатор
Огромное спасибо автору:)
Он просветил мне дорогу
Круто, делай больше видео)
Незабывай еще про науку
помимо бизнеса
Там тоже ждут решений и изобретений)
Слушала на 1.5
Спасибо еще за таймкоды)
Прям как Хирьянов)
отличный ролик! спасибо
Узнал больше об алгоритмах из этого ролика чем за все увиденные бесплатные курсы и книги в инете =_= ппц как так.
Давай отдельно за каждый метод алгоритма подробно на примере с кодом.
Дружище, в институт на программиста поступить не пробовал? Хотя бы на заочку. Ну какие могут быть курсы??? Чему они вас там научат за пару месяцев, йомайо? Наивные вы как дюймовочки, честное слово.
Хорошо,когда быстро и чётко. Респект
Замечательный ролик! Подписалась и буду ждать новых видео.
Спасибо! Очень интересно объяснил. Я, признаться, изменил мнение на эту тему.
Тот случай когда ведущий канала говорит так четко и быстро , что я смотрю на скорости х1 , дабы ничего не пропустить
Нравится контент , подписка однозначно
Молодца, хорошо все рассказал, теперь хоть знаю куда двигаться
Алгоритм-это системный подход к решению задач и системы бывают разные.Очень понравилось видео.Спасибо.( код-это как предложение какую букву каким знаком обозначить ,или/ и какое слово как обозначить ,чтобы составить порядок действий для решения задачи.То есть программа действий ( = приложение) как построить дом из отобранных материалов- кодов для конкретной цели.) В общем,спасибо,даже если не совсем правильно поняла.
Спасибо за видео.
хорошое видео! Вы очень хорошо объясняете!
Класс, тема очень интересная. Спасибо! А можно что-нибудь про структуры данных? ))
Спасибо, раскрыл кое что новое для себя.
Вот такое видео нужно показывать на первой лекции по алгоритмам, когда был на 2 курсе и начали алгоритмы, делали кучу непонятных задач, без понимания общей картины
Это касается не только этой дисциплины. а большинства ненаглядных дисциплин. Нехватка общей картины очень демотивирует при изучении
в свое время очень много программировал казалось бы бесполезных алгоритмов, прям брал задачник и тупо сидел программировал, сам удивился, но мозги прокачивались очень ощутимо, потом при написании реальных программ оказывалось то, что любая программа состоит из кучи элементарных алгоритмов которые программировать могу с закрытыми глазами, прям ощущения дежавю
В академическом образовании непонимание общей картины - вообще довольно типичная штука. Ты не будешь ничего понимать до тех пор, пока не займёшься реальным проектом или лучше - не попадёшь на работу.
@@Integral2128 посоветуйте пожалуйста какую нибудь литературу по алгоритмам
g ms Читай Кормена,Макконела и Кнута
Отличный видос!
я думала тут примеры будут интересные, а рассказ для чего это нужно и так очевиден для каждого кто это смотреть будет
Прекрасное видео, спасибо!
Вау! Крутое видео получилось! Вы меня убедили: алгоритмы реально нужная и важная вещь 👍
Очень крутые видео на канале. Спасибо!
какой же ты молодец!
Спасибо!
Спасибо большое, очень полезно
Video is made in a cool way. Respect!
Очень круто!!!! ОЧЕНЬ КРУТО!!!!!! Мне ещё больше захотелось продолжать изучать программирование, оно мне так тяжело даётся((((( На стенку порой хочется залезть и выть на полную луну!!!!!
Как успехи?
Спасибо за интереснейшее видео
Крутой видос!
обычно ускоряю , а тут замедляю..:)