- 23
- 68 912
про АйТи | IT Pro
Приєднався 19 лют 2024
Привет. Выкладываю тут конспекты учебников из сферы АйТИ, которые мне понравились. Примеры чаще всего придумываю сам или дорабатываю.
Алгоритм k ближайших соседей.
Завершаем серию тем из книги Грокаем Алгоритмы.
На этот раз разбираемся с алгоритмом k ближайших соседей.
На этот раз разбираемся с алгоритмом k ближайших соседей.
Переглядів: 1 875
Відео
Жадные алгоритмы
Переглядів 36 тис.Місяць тому
Знакомимся с жадными алгоритмами на примерах: составление расписания, покрытие множества, задача коммивояжера. Узнаем, о существовании задач P-класса, NP-класса, а так же NP-полных задач. За основу конспекта взята глава 8 Жадные алгоритмы. книги: Грокаем алгоритмы автор: Адитья Бхаргава. 0:00 жадные алгоритмы коротко 0:24 пример с расписанием 4:00 задача покрытия множества 8:57 задача коммивояжера
Поиск в ширину. Графы
Переглядів 2,1 тис.3 місяці тому
Грокаем алгоритмы, глава 6. Поиск в ширину. В данной главе знакомимся с графами и разбираем алгоритм поиска в ширину.
Быстрая сортировка. Грокаем алгоритмы
Переглядів 4 тис.4 місяці тому
Грокаем алгоритмы. Глава 4: быстрая сортировка.
Рекурсия. Грокаем алгоритмы.
Переглядів 4,6 тис.4 місяці тому
книга Грокаем алгоритмы глава 3: Рекурсия. В этой главе знакомимся с рекурсией, так же рассмотрим как работает стек - простая структура данных.
Сортировка выбором. Массивы и списки.
Переглядів 2,8 тис.4 місяці тому
Грокаем алгоритмы глава 2. В этой части узнаем, как данные хранятся в памяти компьютера и чем отличаются массивы от связанных списков. Познакомимся с первым алгоритмом сортировки: сортировка выбором.
Знакомство с Алгоритмами. О-большое
Переглядів 4,9 тис.5 місяців тому
Грокаем Алгоритмы. Адитья Бхаргава. Знакомимся с бинарным поиском. Нотацией О-большое - время выполнения алгоритмов.
Наследование, полиморфизм в Python
Переглядів 2585 місяців тому
Python для начинающих: глава 11. Наследование. Полиморфизм. 0:00 Наследование 1:15 Пример 5:51 Полиморфизм
Объектно-ориентированное программирование в Python.
Переглядів 4565 місяців тому
Python для начинающих: глава 10 Объектно-ориентированное программирование. Первое знакомство с ООП. Что подразумевается под ООП. Определение класса и создание экземпляра этого класса. 0:00 Введение 1:11 ООП на примере холодильника 2:25 Приватные и публичные методы 3:41 Класс, объект, экземпляр класса 4:54 Инкапсуляция 5:38 Определение классов 7:23 Зачем нужен параметр self? 9:12 Создание экземп...
Множества в Python.
Переглядів 3176 місяців тому
Python для начинающих: глава 9.2 Множества. Знакомимся с множествами. Учимся удалять, добавлять элементы множества, «замораживать» множества. Производим операции над множествами. 0:00 Понятие множества 0:44 Функция set() 1:21 Элементы множества 2:29 Удаление, добавление элементов множества 3:06 В чем отличие методов .add() и .update() 4:02 Удаление элементов множества 4:36 Операции над множеств...
Словари в Python.
Переглядів 2056 місяців тому
Python для начинающих: глава 9.1 Словари. В данной части знакомимся со словарями. Разберемся с элементами словарей, поймем какие типы данных подходят для создания ключей, какой порядок у элементов словарей в зависимости от версий Python. Учимся создавать словари несколькими способами, разберем как правильно использовать функцию dict(). Вызовем несколько словарных методов. Научимся перебирать эл...
Строки в Python
Переглядів 1757 місяців тому
Python для начинающих: глава 8 Строки. В данной части знакомимся со строками. Разберем несколько методов строковых объектов, научимся работать со срезами или подстроками. 0:00 Строковые данные 1:17 Срезы, подстроки 2:31 Зеркальная копия строки 3:18 Перебор символов строки 4:35 Строковые методы 5:14 Методы проверки 5:35 Методы модификаций 6:21 Методы поиска и замены 7:02 Метод split()
Списки и кортежи в Python.
Переглядів 2207 місяців тому
Глава 7 Списки(list) и кортежи(tuple) Python. В данной части знакомимся со списками, изменяемыми объектами и кортежами(tuple) - не изменяемыми объектами. Создание списков, работа со срезами, демонстрируются некоторые методы списков. Как правильно копировать списки, что такое двумерный список. 0:00 Списки и индексация элементов 2:51 Срезы 5:27 Методы списков 9:27 Копирование списков 10:19 Двумер...
Циклы: while, for, функция range. Начинаем программировать на Python, глава 4
Переглядів 5328 місяців тому
Циклы: while, for, функция range. Начинаем программировать на Python, глава 4
Структура принятия решения и булева логика. Тони Гэддис Глава 3:
Переглядів 4118 місяців тому
Структура принятия решения и булева логика. Тони Гэддис Глава 3:
Тони Гэддис. Начинаем программировать на Python. Глава 2: Ввод, обработка и вывод.
Переглядів 9968 місяців тому
Тони Гэддис. Начинаем программировать на Python. Глава 2: Ввод, обработка и вывод.
Тони Гэддис. Глава 1. Введение в комьютеры и программирование
Переглядів 1,4 тис.9 місяців тому
Тони Гэддис. Глава 1. Введение в комьютеры и программирование
Круто рассказываешь! На таких примерах! Прикольные зверушки в кинотеатре!
спссибо:)!
Ну теперь ждём графиков с чебурашкой
00:00:13 что ж сразу вернуть пару покупок? Представьте, что Вы торгуете на маркет-плейсе. Так лучше. В остальном спасибо, особенно за формат. Давайте в таком виде большой курс, ага?
:))) да, вариант с маркетплейсом мне тоже больше нравится. Спасибо за положительный отзыв. Имеете ввиду большой курс по алгоритмам?
Cosine similarity. Основной способ работы с эмбеддингами.
спасибо! загуглил, надеюсь и до этого дойду:)
Спасибо большое за информацию!
спасибо:)
Это было очень приятно и подробно расписано, реально круто!
спасибо!:)
Очень хороший доклад, этот стенд стоил того. Хотелось бы видеть примеры того, как алгоритм не отработал с объяснениями, почему
спасибо. Про пример, имеете ввиду когда не отработал именно жадный алгоритм , или в общем?
Классный курс, ждем следующие главы
спасибо :). Следующая книга будет о Python. Сценарий почти готов.
Я так понял рекурсия это не самая полезная вещь для памяти компьютера.
получается так. требует больше памяти
Спасибо за видео, отличный ролик
спасибо:)
почему так годно?
книга хорошая:) спасибо Адитье Бхаргаве
ты очень крут, спасибо тебе❤❤❤❤❤
спасибо:))
Очень интересная подача, продолжайте Хотелось бы ещё увидеть презентацию/конспект в описании. Например, изучая что-то по видео Сергея Балакирева, всегда захожу на его сайт где есть письменные конспекты и перечитываю их, при повторении это особенно удобно
спасибо:) А я и не знал, что у Сергея есть такая опция. Сейчас посмотрел - здорово реализовано. Спасибо за идею, действительно удобно, нужно думать в этом направлении, пока вопрос времени конечно в первую очередь.
👍
Приятно слушать, и информация интересная. Подпишусь
спасибо. добро пожаловать на канал:)
За название конференции отдельный лайк :) Вот уроды ;)
этот комментарий я увидел случайно спустя 9 дней, так как он нигде у меня не вылез и под видео тоже не появился. видимо у ютуба работает цензура, он не смотрел брат2 и решил, что это не цитата, а обращение:))) интересно станет комментарий видимый после моего ответа.
@ITPro-ei8cs я вижу пока что. Но могу видеть только я, наверно. Чтоб я думал, что комент не удалили
я тоже теперь вижу:)
а где 9 глава?
9ой главы не будет.
@@ITPro-ei8cs что так?
Перед тем как сделать сценарий к видео, я должен иметь понимание о том, что буду рассказывать, т.е. вникнуть в вопрос, разобраться. После прочтения 9ой главы "Динамическое программирование" понимания не было:))) там автор приводит примеры, но суть, глобально о чем речь, я уловить не смог. У меня было два варианта: 1. скопировать дословно автора и его примеры. 2. взять за основу видео рассуждения из других книг. Оба варианта мне не понравились. Поэтому решил эту тему пока не затрагивать. Думаю она ещё встретится в других книгах. Мне кажется иногда в книгах некоторые главы пишут для объема, ну либо я не дорос.
@@ITPro-ei8cs Ясно...придется читать.. эх. Вот бы кто Таненбаума бы разжевал или Страуступа с Пратта..
Таненбаума планирую в перспективе разобрать. Там конечно нужно много времени.
Где находится 9 глава?
я не делал 9ую главу и не планирую делать.
Спасибо большое за видео :) У вас очень спокойный и приятный голос, подача тоже материала на вышем уровне :)
спасибо большое:)
Для первого алгоритма ожидал упоминания что он всегда оптимальный, в отличии от второго. Но наверно это всё же и правда лишнее. Ещё мне нравится пример со сдачей. Если есть номиналы монет 5 и 2 то в первую очередь выдавать пятёрки пока остаток суммы больше или равен 5 не оптимально. 6 = 2+2+2.
так, загрузился:) задача со сдачей не совсем понял. цель: выдать как можно меньше монеток?
@@ITPro-ei8cs ну можно наименьшее количество монет. Но даже проверить "можно или нет" выдать этими номиналами уже жадный алгоритм не работает.
ок. понял. спасибо:)
Эммм... доклады надо смотреть какой тебе нужнее, а не чтобы как можно больше.
тогда это уже будет задача о рюкзаке :) В моем примере с докладами хотел показать, что для решения одной задачи жадных алгоритмов может быть несколько
@@ITPro-ei8cs а ясно, спасибо! А что за задача о рюкзаке?
в задаче о рюкзаке имеется рюкзак и какие то предметы обладающие стоиомостью и весом. В рюкзак нельзя поместить все предметы, а только те что бы их суммарный вес не привышал допустимое значение, что бы рюкзак не порвался. Цель: собрать такой набор предметов, что бы их стоимость была максимальная. Жадный алогритм для решения такой задачи: помещать предметы в рюкзак начиная от самого дорого к самому дешевому, пока рюкзак не заполнится. По отношению к задаче в примере можно её дополнить условием: назначить баллы каждому докладу от 0 (инфоцыгане) до 10 (очень полезно). Цель: собрать как можно больше баллов. Жадный алгоритм: выбираем сначала самый важный доклад, затем в свободное время отбирается самый важный из оставшихся и т.д.
@@ITPro-ei8cs А если самый дорогой предмет тяжелый и занимает много места? И ничего больше в рюкзак не влезет? Проще положить два предмета полегче и подешевле, а стоить суммарно они будут дороже.
да все верно, ведь это жадный алгоритм: он предлагает хорошее решение, которое не обязательно является лучшим.
Вам следовало бы давать в скобках оригинальные названия на английском. Потому что tuple == кортеж и кортеж != cortege. Новичок, найдя английский туториал после вашего, не сразу разберется что есть что.
спасибо за совет. не подумал об этом, постараюсь учесть в следующих видео:)
@@ITPro-ei8cs А в общем все прикольно. Продолжайте в том же духе.
блин спросят что такое бинарный поиск а ты не ответишь т.к. знаешь его под названием "метод дихотомии или деления пополам" а хз чо там еще могут придумать под словом бинарный, мало ли)
:)). Отлично, теперь и я буду знать, что подразумевается под методом дихотомии, если кто спросит:))
Очень хорошее видео!
спасибо:)
Спасибо
чем больше смотрю, тем больше вижу связь с алгоритмами нейросетей
Тут схожесть в задаче(классификация с использованием маркированных данных). Можешь еще Naive Bayes посмотреть, он поинтереснее чем KNN.
Здорово, пожалуйста продолжай
спасибо:)
Ошибка в демонстрации public/private, слово "private" написано без "e". Примерный таймкод ( 3:40 )
да, точно. Спасибо.
За отсыл к Брат-2 поставила бы даже два лайка 😂
Кстати, p = np (Для n = 1)
:)
можно узнать, сортировка выбором в приведенном примере займет 36 переборов. (8+7+6+5+4+3+2+1). но 8 в степени 2 = 64. разница почти в 2 раза. Этим пренебрегают? или я что-то неправильно понимаю
Да все верно, константы при указании сложности в О большом игнорируются. Цель О большого показать как растет количество операций в заивисимости от роста входных данных. Интересуют прежде большие числа, при которых коэфиициенты уже не играют роли. Проще говоря мы должны сконцентрироваться именно на типе роста: линейный O(n), квадратичный O(n^2), факториальный O(n!) и т.д. Детали не особо интересуют. Так например зная, что рост у нас факториальный (O(n!)), даже если мы будем делить на 100, при больших n нам это не поможет решит задачу. В главе про жадные алгоритмы в качестве такого примера задача коммивояжёра, там при значении n=17 поиск решения требует очень много времени, на столько много, что оно к тому времени уже не нужно. Итог: мы концентрируемся на типе роста, это как с транспортными средствами, когда речь идет о перемещении из точки в А в точку Б: авто быстрее велосипеда, а самолет быстрее машины. Велосипеды тоже разные, но мы обычно не уточняем его точные характеристики, когда сравниваем с машиной. Я это так вижу.
@@ITPro-ei8cs спасибо большое. суть в том, что мы пытаемся отследить тип роста по количеству операций в зависимости от количества элементов)
Не проще собрать все доклады в бумажном виде?
:)) такой опции нет, тогда никто не придет, и организаторы конференции не смогут продать билеты:)
Я 3 решения на глаз вижу. 4 доклада во всех 3 решениях
Супер! а можете тут написать для этих трех решений жадные алгоритмы?
На практике это работает, а что там в теории?
Понятно it шник венец развития
Недавно годову ломал над рекурсией в числах Фибоначчи и еле как понял, а тут прям как по масла прокатился, спасибо за видео
Спасибо:)
n^2 это не экспоненциально же
Да, все верно, оговорка. Экспоненциальный рост 2^n. В видео же на графике указан n^2 - квадратичный рост, т.е. рост пропорционально квадрату размера входных данных. Ну Вы это и самии знаете:) Это я пояснил, что бы не вводить в заблуждение тех кто в первые с этим знакомится. Спасибо за внимательность :)
Хотел достать под такой ролик эту книгу с полки и сдуть пыль, а потом вспомнил, что там все это время другая книга была:'Дискретная математика для программистов'...
:)) да эти полки у всех есть.
посмотрел содержание книги "Дискретная математика для программистов", пожалуй тоже положу её на свою полку :)
Хорошая книга, регулярно просматриваю 😀
Приятно излагаешь, спасибо - мне понравилось 👍
спасибо:)
Понравился простой язык изложения, я бы еще послушал если честно
Спасибо:)
Спасибо за классный урок!
Спасибо за комментарий:)
ЖДУ НОВОЕ ВИДЕО С НЕТЕРПЕНИЕМ
К сожалению последние 2 месяца были физические ограничения по работе с компом. Сейчас ситуация улучшается, надеюсь дальше таких больших пауз не будет. Следующее видео почти готово и будет в понедельник или вторник. Спасибо за поддержку :).
И еще, знающие люди, подскажите, почему коэффициент предпочтительнее <0.7? Если по примеру из книги, то на 100 квартир должны быть 70 котиков, смысл оставлять пустым квартиры?))
Как я понял 0,7 взято просто из практики, опытным путем. Главная цель соблюдение баланса между: с одной стороны затратами на памяти и с другой - издержками, которые приносят тормоза при большом количестве коллизий, тут ещё есть, где-то затраты на создание хеш-функции. Если коэффициент меньше то память расходуется сильно впустую, если больше - рост коллизий - соответственно рост тормозов в работе. В вопросе с котиками и квартирами, затраты на квартиры (на память) огромные, и первая мысль которая мне пришла: действительно коэффициент 0,7 очень неэффективен. Вторая мысль: а если поселить котиков в обувные коробки. Ну 100 коробок уже не жалко, да хоть 150 :))) Спасибо за вопрос, ради таких вопросов и стоит выкладывать видео. PS: Сделаю программку, что бы раскидать случайным образом 50, 60, 70, 80, 90 шаров по 100 ячейкам. Посмотреть долю пустых ячеек и кол-во коллизий в каждом случаях, может получим ответ.
Искренне не понимаю, почему тут так мало лайков! В видео отличное объяснение, помогает вспомнить материал или же сначала посмотреть видео, а потом и книжку почитать)
Спасибо!
Лайк и подписка.
спасибо, добро пожаловать на канал:)
Примеры поистине гениальны, спасибо!
Спасибо:)
Опечатка в тексте "function"
Вы имеете ввиду в коде примера? Так как имя функции не является ключевым словом, можно любое имя придумать, я написал через k это по-немецки, но Вы правы! лучше в именах переменных и функций использовать английские слова, поэтому понятнее было бы function. постараюсь в будущем на это обращать внимание. Спасибо за внимательность.
спасибо большое!
Спасибо за позитивный комментарий:)
мне понравилась подача и визуал тоже, лучше не отвлекаться чтобы понять лучше, жду еще
Спасибо! :)
Алекс ос, не стоит повторять визуал
Посмотрел сейчас быструю сортировку у Алекс ОС, не понял, что можно было подумать, что я там повторил, мне до его визуала расти и расти ещё. Так что сообщение воспринимаю не иначе, как комплимент. Спасибо.
Наоборот хорошие решения НУЖНО повторять
Неплохо! Про массивы не знал кстати
Спасибо за коммент:)