Основополагающая Дисциплина Computer Science
Вставка
- Опубліковано 9 лют 2025
- Привет
Изучите алгоритмы и структуры данных вместе с Яндекс Практикумом: ya.cc/t/o61p1q...
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Телега - t.me/wndtn
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Подпишись сюда, бро:
Telega и чатик - t.me/wndtn
Github проекта(код с канала) - github.com/win...
10к лайков только за превью
братан ну 86к за алгоритмы это сильно
ждем 10 часов
Только когда будет с++ за 10 часов
Нет
Не видно что написан она футболке.
Рисование превьюхи заняло больше всего времени?)
75 задач от литкод просто начните решать, у них там своя программа есть(так и называется 75 leetcode), там все темы от массивов, стрингов до динамического программирования
Считаю, что тема стрингов программистов не раскрыта
Grind 75 если быть точнее.
@@ИнякинАлександр Leetcode 75 и Grind 75 будто разные планы. Какую выбрать?
@@pogromletov бери любой
@@ИнякинАлександрBlind 75
Почитал Грокаем Алгоритмы, прорешал несколько десятков задач на кодварсе(литкод меньше нравится) думая что это поможет мне в разработке и кодинге, в итоге спустя 4 месяца уже забыл все, потому что ни разу не доводилось применить хоть что-то оттуда. Все поиски и структуры данных уже реализованы, знай только в чем их отличие и используй по необходимости.
смысл не в реализации, а чтобы понять когда какую из структур лучше использовать. Задачки и прокачивают это, потому что в хороших задачах никто и не запрещает пользоваться всеми заранее реализованными структурами.
Абсолютно верно, для коммерческой разработки это бесполезная вещь, все уже давно это поняли, а товарищи из фаанга так же давно признались , что алгоритмическая секция была введена просто как еще один этап отсева, из за большого потока желающих, и она вообще никак не показывает скил разраба в коммерческой разработке
" в итоге спустя 4 месяца уже забыл все" - но Вы уже наработали связи между нейронами, и возможно именно эти связи Вам позволят решить\получить\преодолеть задачи и в другой области Вашей жизни.
С таким же успехом мог комиксы о бэтмэне прочитать. Формошлёпу это не нужно и никак не поможет шаманить с чужими готовыми реализациями и копипастить типовой код, из чего и состоит его работа. И нет, далеко не все поиски и структуры данных реализованы. Рантайм библиотеки популярных языков вообще довольно бедные в этом плане. Но гребцу на галерах об этом думать необязательно. Всё равно, если вдруг возникнет задача, когда стандартная реализация алгоритма не подходит для задачи, ты не сможешь построить подходящую, и будешь говорить "это нельзя сделать" или звать алгоритмиста. Тебе нужно знать своё весло и закрывать 10 задачек за спринт, всё.
385 задач на литкоде. Для меня решение литкода это просто приятное и интересное занятие, где ты бросаешь вызов какой-то очередной сложной задаче, проверяешь свои силы
Решал задачи я с перерывами, сначала 2 месяца каждый день, потом 2 месяца перерыв из-за нехватки времени, потом снова 30 дней подряд и т.д.
И я заметил, что моя производительность в выполнении задач на работе/в унике падает, если я перестаю решать литкод. Больше времени уделяешь на банальное осознание сложных тасок, тупишь иногда и тд. А потом, когда снова пробуешь решить задачи, решенные тобой ранее, они могут вызвать затруднение (очевидно, тут про нетривиальные медум-хард задачи, которые не помнишь). Я бы назвал это интеллектуальным тонусом. Да, ты все так же знаешь, понимаешь все эти структуры данных, всякие базовые вещи пишешь с закрытыми глазами, легко балансируешь деревья и тп, но алгоритмическая чуйка, умение посмотреть на задачу с нескольких альтернативных сторон и навык быстро найти правильный подход, на мой взгляд, - вопрос тренировки. И без постоянной практики эти навыки медленно улетучиваются (
И, если подводить черту, мне кажется, что понимание ТиСД + паттернов проектирования необходимо, чтобы писать адекватно вещи, которые чуть сложнее банальных крудов без какой-либо логики. Кто-то будет городить костыли, кто-то писать неэффективный код (так как не видит иного подхода), а кто-то сделает это чисто и красиво.
мотивацию набрали главное начать теперь
даже не задумывался что (l + r)//2 таит проблему получить переполнение. Уже профит от видео со старта)
(l | r) -((l^r)>>1) без переполнения
@arthursahakyan8125 Это что-то на олимпиадном. l + (r - l)//2 всё же понятнее рядовому работяге.
@@MrLotrus r - l тоже опасен с точки зрения overflow, прим. l =INT_MIN , R=INT_MAX
@@arthursahakyan8125l не может быть ниже -1)
А R всегда не выше MAX-1, т.к. для элегантной реализации алгоритма надо инициализировать R = n + 1
Если программа ищет бинарным поиском в массиве на 2 или 4 миллиарда элементов (а при меньшем размере переполнения не будет), то нужно пересматривать вообще весь подход к обработке данных, а не заниматься трюкачеством с арифметикой.
0:34 ну кстати это не самый правильный вариант бинпоиска и невсемипринятая практика. Более верным является брать left и rig, чтобы они были меньше и больше ответа на единицу. Тогла условие while надо переписать r - l > 1, а от одного if можно избавиться. Код станет короче, а при переходе от случая к случаю будет меняться меньше.
Источник: лекция Павла Марвина про Бинпоиск
Пошел перепроходить курс по алгоритмам с лит кода)
Спасибо за видео
Лучше прочитай учебник по дискретной математике, пользы будет больше.
10 лет в кодинге
Всего 30 задач на литкоде
Некоторые по несколько суток решал, часть до сих пор не решил, хотя пробовал неделями
Знаю все эти структуры данных перечисленные.
Если ты такой же, то не попадешь ни в Яндекс ни даже в Авито с озоном.
Просто пишу чтобы у людей самооценка не падала.
Не все могут в алгоритмы.
И это не обязательно чтобы зп получать. Поэтому просто количеством собесов берите.
В Яндекс не суйтесь даже. Будете проходить 10 раундов собесов и вас все равно не возьмут 😁
@@bipolar-fox Раз в год пытаюсь
Сейчас, говорят (они сами), у них 3 этапа практически как у всех
@@bipolar-foxой да хер с ними, яндекс как идеальная утопия - все хотят, да все не все могут.
на хлеб с икоркой не только в Яндексе заработать можно
@@bipolar-fox а если возьмут, то придётся работать по 14 часов в сутки
Наши собесы во всякие яндексы, тиньковы и вк - самые лёгкие. Они просто смотрят на базу :)
Любой собес в яндекс берётся на силе воли помноженной на время.
Хорошее видео. Алгоритмы и структуры нужны это даже не обсуждается. Плохо когда на собесе будут спрашивать только их и кроме них ничего нет. Никогда не ходил в алгоритмы прям специально, не занимался спортивным программированием или олимпиадным. Но конечно узнать все о чем говорит автор пришлось и это реально дало буст по пониманию программирования. Наверно из всего алгоритмы и структуры данных это второе по простоте что очень детально описано, тысячу раз решено и кристаллизовано. Перове - это синтаксис языка. Третье - это паттерны проектирования(тут уже начинаются первые противоречия и выяснение чья школа лучше). Четвертое - что такое хороший код в целом что нет и дальше уже начинается архитектура - там вообще сплошные верования и шаманство и у каждого свои.
автор, спасибо за видео! Это именно то, что мне нужно было услышать сейчас!
даже тут свою корпоративную культуру тащят. За 10 лет кодинга у меня буквально 0 решеных задач, нет аккаунта ни на кодварс, ни на литкод, ни где либо еще. Работая старшим инженером мне ровно 1 раз пришлось написать собственное дерево. РОВНО 1 РАЗ. Очень хочу, чтобы следующие 10 лет я не решил ни одной задачи где либо
Так, на обложке «С++ за 10 часов» есть
А видоса нет…
Не порядок😡😡
Я думаю это знак, что скоро...
10 часов переписывания чужого с++ кода под видео и умные словечки :D
лучший видос для начинающих в алгоритмах)) где ж ты был пару лет назад)))
Ты не переживай, в твоей жизни эти видосы ничего не изменят, по крайней мере, в лучшую сторону. Всё равно будешь наниматься только на галеры.
Решил 1600 задач на лит коде, сначала это сложно, потом это сложно но уже приятно.
Прошу профиль гуру
@TakeYourTimeBack хз кто то удаляет комментарии.
бинарный поиск это численный метод решения уравнений "деление отрезка пополам". самый первый способ на приматах. короче айтишники как всегда придумывают какие-то свои непонятные определения, хотя по сути это вычислительная математика. на самом деле я теперь понимаю почему требуется вышка, если человек учит не через матан, а через готовую такую фигню, у него не формируется "интуиция" решения задач, а значит он будет менее эффективен в случае нешаблонных заданий
поддерживаю
Почему непонятные определения? Очень даже понятное. Бинарный - binary - двоичный, то есть буквально состоящий из двух частей, больше-меньше, чем не деление пополам? Чтобы понять эту задачу матан вообще не нужен.
Можешь привести пример нешаблонной задачи?
Поддерживаю, база численных методов решения уравнений
Ну обычно этот принцип впервые появляется в задачах по олимпиадной математике простеньких (а-ля сколько взвешиваний нужно чтобы найти тяжелую монетку), но это в целом разделяй-и-властвуй. У меня просто в школе на парах ввели бинпоиск и деление пополам, собственно мне кажется что он почти всегда возникает раньше чем вычматы о котором ты говоришь
Я бы не сказал что деление отрезка пополам это обобщение бинпоиска скорее наоборот
Бинпоиск может намного больше чем решить уравнение
вот только собирался проходить бинарный поиск и видео твое, прям крутяк. Теперь с нетерпением жду когда начну изучать
В чем проблема просто начать?
Курс Влада Тена можно посмотреть, решая литкод параллельно, ну и грокаем алгоритмы почитать
0:28 и правда, почему. Жду бригаду в комментах, по моему норм условие, детерменированность алгоритма и сложность О(log(2,n)) остаются, разве что плюс одна-две итерации могут прибавится в некоторых случаях
Решание задач на leetcode даст только навык решания задач на leetcode, ну и на собесе можно будет похвастаться и всё. К тому же большинство алгоритмов становятся понятнее в реальных задачах, нежели с абстрактными числами/строками.
++
вообще юзлесс тема, особенно для новичков
Смотря, как решать. У меня для литкода уже написаны и очередь с приоритетами за константное время, и матрица смежности графа, которая рвёт типовой вектор векторов по скорости в 5-10 раз, и цифровая сортировка, и AMT Фила Бэгвела в разных вариантах. Для типовых собеседований на галеры это, понятно, без надобности. В тот же Яндекс если начнёшь что-то такое писать, то тупо не уложишься в отведённый час, и прощай, неудачник-кандидат. Но в интервью на нормальную работу (которой в РФ менее 1% всех вакансий) иногда очень даже котируется. Причём там и писать не надо, пара вопросов мгновенно выявляет, имеет кандидат опыт самостоятельной реализации или нет.
"С соткой можно и в Яндекс залететь" - можно, но зачем? На нищебродскую зарплату в конвейерную соковыжималку с ежегодной 40%-ной текучкой?
А я так за 10+ лет решения олимпиадных задачек и не смог полноценно осознать динамическое программирование. Каждый раз думаю что вроде понял, но все равно не могу осознать до конца :). Такая же история с QSort и красно-черными деревьями (Точнее в целом повороты деревьев голову ломают). Вроде и написать могу, а сама суть ускользает.
Да просто переназначение ссылок, ничего сложного.
Test
Алгоритмы действительно юзлесс, а литкод пустая трата времени.
Я пишу бэк ордеринга заказов и интеграции с другими сервисами для одного популярного оператора связи, постоянно работаю с хайлоад, в квартальных целях учу нейронки которые работают по документации этого же самого оператора, пишу для них ui и парсеры данных. Так вот НИГДЕ мне не пригодился литкод или алгоритмы. Собственно было бы интересно узнать мнение для чего их задрачивают? Если для себя то ок, но если для работы (на что наверное рассчитывают потребители такого контента) то это оооочень сомнительно.
Какая зп, если не секрет?
А как алгоритмы юзлесс, если ты в хайлоад работаешь? Тип вообще не надо думать как работает алгоритм?
И в нейронках тоже не надо знать алгоритмы??? Наверное ценный ты сотрудник. А коллега прям загляденье 😊
Согласен, в веб-разработке всем пох по одной просто причине - узким местом является сеть и БД, так что их обычно и оптимизируют, а на несколько сэкономленных тактов при поиске в каком-нить жысоне всем пох.
@@lowkeysleepалгоритмы на уровне литкода не надо. Просто понять как работает какойтто алгоритм - да, но уметь все самому реализовывать - нет
Для собесов
Вот бы преподы в унике так мотивировали учить алгосы и стурктуры данных :(
никита привет
Никита привет
пока Никита
Это странно если студента нужно мотивировать это изучать
@@lamina_cursor брат, оно того не стоит, процентов 90 разрабов джоснки перекладывают и круды пишут не думая не о чем
Еще стоит прочитать книгу "Грокаем алгоритмы"
"Грокаем алгоритмы" очень поверхностное содержание по сравнению с "Алгоритмы: построение и анализ"
Для чего? Вот допустим, ты её прочитал, что ты после этого стал делать на работе, чего раньше не делал? Точно так же копипастишь код и шаманишь с готовыми реализациями, как и раньше копипастил и шаманил.
Прям с языка снял, мой личный плачевный пример, на прошлой неделе проходил 3 тех интервью с разницей в один день каждое, готовил теорию, от переменных до особенностей роботы Кубика и Кафки ... и во всех 3 случаях идеально прошел теоретическую часть и завалил практику. Как не трудно догадаться практика те самые задачки с Литкода и КодВорс среднего уровня, при чем задачки я худо бедно решал, но когда просили улучшить, упростить, уменьшить ... просто впадал в ступор. Как результат сижу на КодВорс (имхо удобнее Литкода) и решаю задачки по 2-3 в день. Так что да какой бы синьйор не ныл, что это всё вам не надо, но при этом на собесах именно алгоритмическими задачками измеряют вас что на джуна что на синьйора.
Причём такую практику наблюдаю преимущественно в РФ. Сколько раз собеседовался в Европейские/Американские проекты, там больше смотрят на решение реальных задачек, вместо этих всех алгосов
@@kirillsaltykov9092звучит как неправда:)
хз в какие компании ты пройдёшь без алгоритмов :)
Про кодварс узнал ещё до литкода
И да, по мне тоже кожыарс понаряднее
Странные собесы значит, все же их редко спрашивают. Тебе не повезло просто
Вот поиск интегралов с codewars уж точно не пригодится ни на интервью, ни в работе. Если где-то нанимают человека считать интегралы, его будут искать в профессиональной среде, а не на хедхантере. На leetcode задачи ближе к массовому рынку. И кстати, ими меряют только джунов с мидлами. На серьёзные позиции разговор другой, и там в основном архитектура нужна.
Ага, изучаю сейчас Unity (уже четыре года пишу программы для инженеров, но надоело, решил в геймдев пойти), так вот тут вы в глаза никогда не увидите ни деревья, ни бинарные поиски ни сортировку ни что бы ни было ещё из серии структур и илгоритмов данных, т.к. всё это уже давно написано и работает под капотом фреймворков, но вот как раз их изучение, этих фреймворков - по сравнению с ними, любые алгоритмы и вот это всё покажется лёгкой прогулкой, т.к. там всё настолько неочевидно и узнать толком негде (даже chatgpt выдаёт шляпу, т.к. фреймворки (в отличии структур и алгоритмов) обновляются ежемесячно )
ерунда полная. Несколько лет назад я практиковался решать такие задачи (как раз мог написать различные обходы дерева и тд), но по итогу все это забыл, т.к нигде кроме задач литкода это в реальном программировании не нужно. Вывод: то что вам нужно для работы вы и так будете изучать по ходу дела, а это не более чем развлечение чтобы пофлексить. Ничего плохого в этом нет, но это не является необходимостью
Зачем тогда все эти курсы обманывают ?)
@spondiasshow8319 они зарабатывают деньги, очевидно
Неожиданно очень хорошее видео
Аналогия дерево сбалансированно = массив отсортирован притянута за уши по моему мнению. Дерево поиска всегда отсортировано))
Я бы сказал что массив отсортирован = сбалансированное дерево, это лучшая аналогия, если учитывать порядок слов. Балансировка и массив - это про быстрый доступ, дерево поиска - про сортировку
Решал еще до этих литкодов, проект эйлера был такой, да и есть наверно. В конце видео правильно...
"Все это игра".
Так и есть. Почти все алгоритмические собеседования - театр. Спрашивают на серьёзных щах алгоритмы и асимптотику, а реальные вакансии - галеры для формошлёпов. Кстати, в 1990-х этого театра не было, а народ в среднем был подкован намного лучше. Я больше 100 техсобесов провёл, всегда смотрел, чтобы человек умел думать, а только потом уже знания. Сейчас собеседуюсь - почти никто на это не смотрит, всем нужен набор правильных ответов. И с чьей точки зрения правильных? А с точки зрения какого-то формошлёпа, начитавшегося популистских книжек.
@@InconspicuousChapумение думать всегда в приоритете, мне кажется, но в зависимости от грейда вес смекалки относительно навыков и знаний уменьшается, что приводит их к примерно равным друг другу. Соответственно, если человек собеседуется на архитектора, но он умеет только думать, а базы нет архитектурной, то тут ничего не поделать, скип. Ему потребуется слишком много времени, чтобы вкатиться, и это невыгодно, тк дорого обходится сотрудник такого ранга
А ты на какую позицию и стэк собеседуешься? Неужели действительно сейчас на рынке проблема такая есть театрального характера?
@ был разработчиком лет 9, потом тимлидом более 10 лет и попутно - системным архитектором, потом административка достала до печёнок, перешёл опять в технари, т.к. видел, что они снова в цене, а менеджеры стали расходным материалом. Но за это время 99% разработки превратилось в крудошлёпство и формошлёпство, и нормальных вакансий не найдёшь. Реально, сто рекрутёров приходят - сто трэшовых вакансий. Стек - Java. Хотя было дело, собеседовался пару лет назад и на C++, и на экзотику Scala, Clojure. Но там почти везде хотят кого-то подешевле, и я не прохожу. Только последнюю вакансию (Clojure) я в итоге завернул сам, но до сих пор сомневаюсь, правильно ли сделал. Они меня хотели нагрузить интеграциями, а не самой кложурой, но со временем, я думаю, мог бы просочиться в разработку системы. А тот проект, в котором я тогда остался, в итоге выродился в самое отмороженное крудошлёпство, которое я когда-либо видел, и я всё равно от них свалил меньше, чем через год. А сейчас занимаюсь низкоуровневой архитектурой, т.е. исследования, прототипирование, разработка без чёткой постановки, принятие решений по ходу дела, в общем, всё как мне нравится. До недавнего времени даже ежедневных совещаний не было, но потом они всё же появились. И никакого отжайла с мозгоклюйством и бессмысленными ритуалами.
плюсы на 10?
Максимально солидный видос
Я знаю все это но серовно скажу есть два типа те кто думает что им это не надо и те кто уже поняли что это им не надо
И третий тип - кто понял, зачем это надо и теперь работает в Google
@@bipolar-foxа потом выгорает там за два года и уходит
@bipolar-fox и не использует по итогу
@@bipolar-fox а есть 4 тип: те, кто поняли что это того не стоит как и гугл и делают те же задачи не рвя себе жопу и думая о своей мнимой важности и исключительности, при этом получая больше
многие говорят что учить прогу в институте тоже бесполезно, но в институте я прекрасно решил все эти задачи на си и знаю любой алгоритм и любую (кроме красно белого дерева) структуру данных, из названных в видео
Первое с чего мне посоветовали изучать кодинг это codewars и leetcode. Где есть самые простые задачи(это про codewars скорее), где тебе и условия даны и все, что тебе остается это просто думать как написать решение задачи, т.к. по сути ты еще учишь базовый синтаксис. У меня такой первый опыт знакомства был.
А сейчас ты программист?
@ а что значит быть программистом? Про себя могу сказать, что все еще учусь.
@@iNesteroff ну если хеловорд можешь вывести в консоль , то уже программист. Вопрос будут ли тебе за это платить? Он наверное имел ввиду , работаешь ли ты программистом.
Годно, спасибо!
я заходил на литкод примерно месяцев 7-8 назад сразу после того, как изучил базу по питону.
На меня литкод повлиял так, что после него я стал задумываться над временной сложностью. Я стал убирать лишнее, срезать ненужные итерации - думать на производительность. Благодаря этому я стремился упрощать код, делать его короче. Я решил около 20-30 задач, из алгоритмов я запомнил только rle-сжатие строки и бинарный поиск. Однако после этого опыта я приблизился к программированию, и если бы не это, думаю, мой код был бы просто омерзительным)
писать производительность и питон в одном предложении должно быть запрещено) Иногда код на питоне можно ускорить, изменив поведение сборщика мусора. Ну и омерзительный код - тот, который плохо читается, который выглядит нелогично. Меньшее количество кода не означает ускорение программы. Если хочется скорости можно писать на ассемблере - считать количество тактов процессора: меньше тактов - быстрее работает)
@@Vitalis-sooон просто хочет писать производительный код именно на питоне, а не просто производительный код. Тут язык первичен, а производительность вторичен
@@braian0511 без проблем: но "укорачивание" делает код чаще всего медленнее (если не использовать NumPy или что-то другое, написанное на C и Fortran).
Я на самом деле не понимаю зачем гнаться за оптимизацией, если сам язык не рассчитан на highload, но какое мне дело.
Процесс оптимизации кода - это очень сложная часть, которая зависит от многих параметров. У моего знакомого оптимизация микросервиса заключалась не в алгоритмах, а в специфической конфигурации сборщика мусора (они вроде как отключили проверку на циклические связи объектов).
Для начинающего программиста на первом месте должно стоять качество кода, по мере получения опыта и теории по computer scince станут возникать задачи, требующие оптимизации. И вот в такие моменты и нужно заниматься оптимизацией: когда в этом есть необходимость и когда навыки и компетенции позволяют говорить про то, как следует приступать к оптимизации. А решать проблемы, которые ещё даже не предвидятся, имхо, странно
Я сидел на литкоде какое-то время назад. Выбивал даже 100%. Но решать там сотни задач - ради чего? Чтобы пойти в Яндекс и получать ЗП ниже рынка?
Спасибо, я лучше потрачу время на SQL и другие актуальные технологии.
P.S. а ещё на литкоде на подсчет по расходу памяти влияет... Длина названия переменной. Лол.
В питоне переполнение отсутствует из-за поддержки длинной арифметики, поэтому безопасно использовать версию с
mid = (left + right) // 2
Вопрос который давно мучает, и ответов на него в нужном и понятном виде найти не удалось. Может даже будет как идея для видео)
Вот ты начал прогать..
Вот изучил пару высоко-уровневых ЯП пусть будут C#, Java, Python
Вот ты ковырял всяческие кейсы, пощупал ООП..
Как после всего такого опыта, ворваться в тему ASM, C, и прочие низкие ЯП
Есть ли какая то идея/стратегия изучения имея кучу вредных привычек из вышеупомянутых языков?
В интеренетах уроки по ASM идут по типу - это MOV EAX 123 -> положить в регистр EAX значение 123..
А нафига это нужно? зачем эти регистры? Что это вообще такое на примере высоких ЯП?/
Хотелось бы найти заветный алгоритм разложения задачи, которую мы привыкли решать средствами высокоуровневых языков, на подзадачи средствами ASM.
Сейчас тут конечно поналетят мамкины умники и будут ныть что "вам это не нужно и это тоата времени". Но скорее всего это те "программисты" которые прошли курс на скиллбокс и теперь считают себя богами программирования.
Если вы пойдете устраиваться в любую забугорную контору вроде гугла или майков то на собесе всем будет плюс минус чихать на знания конкретного языка, зато по алгоритмам вас будут гонять жостко. И я их прекрасно понимаю. Такие задачи проверяют тебя: или ты кодер которому нужен погонщик, который будет тыкать пальцем что и где писать, которого легко заменит нейросеть. Или ты инженер, способный решать поставленную перед ним задачу, анализировать ее и уметь находить разные подходы.
И еще по поводу "оно мне не пригодится". Никогда не знаешь когда те или иные знания могут пригодиться. У меня не раз было такое что знание адгоритмов и структур данных приходили на помощ в самый неожиданный момент и экономили кучу времени.
BFS и DFS - это алгоритмы обхода графа, а не дерева. На дерево они сужаются в частном случае
Алгоритмами обхода дерева они все ещё являются
@@krolikrodjer8879, формально да, я, скорее про то, что слушатель может получить неправильную картину, подумав, что это только про дерево
Вот есть челы, которые говорят, что математика и физика не нужна, вроде бы как-то живут, но потом оказывается, что они верят во всякие астрологии и таро, не умеют искать и проверять информацию с помощью гугла и даже сами себе не могут объяснить свои механизмы принятия решений в каких-то бытовых ситуациях. А что самое забавное и одновременно страшное - они даже не осознают всего этого.
Вот и с алгосами примерно то же самое, они нужны в первую очередь для формирования навыка мыслить и превращать проблемы в структурированные задачи
На 90% вакансиях *в мире* мыслить не надо, особенно если там отжайл и йуный менеджер с кипиаями. А какая наукоёмкая разработка ведётся в РФ? Развернуть постгрес или вызвать функцию обучения нейросети из готовой библиотеки с гитхаба? Собеседовался к одним типам, которые оптимизируют складскую логистику для интернет-магазинов, типа умные. И что? Там покупная программа все решения принимает, а они - вроде жрецов при ней. Внутрь не лазят. Разработка отечественных платформ? Всё тянут из гитхаба и обвешивают своими логотипами. В банках ещё и режут функции, которые не нравятся безопасникам. Наименьший риск и наименьшие затраты - вот главный девиз. Авиация, нефтянка, росатом - все ключевые функции на покупных технологиях, их переводят на западный же софт с гитхаба, и это называют импортозамещением. Реального импортозамещения наберётся максимум с десяток проектов на всю РФ, и те никто финансировать не хочет.
Во-первых, какой смысл демонстрировать примеры по стандартным алгосам на Змее? В такой редакции код будет работать ровно в 300 раз медленнее, чем на Си пи пи, а новички же подхватят. Есть же магический модуль numpy, где открывается чудесный мир абсолютно всего реализованного до тебя, при том на C и на Fortran (супер-быстро). А во-вторых, аналогия с математикой божественна) Особенно понравилось x² = -9. Типо, "Не получается - просто возьми и изобрети новые мнимые числа и скажи, что так надо (как в математике)". Математика - это божественное, это прекрасное, а программирование - это бизнес. По моему скромному мнению)
твоя божественная прекрасная математика была и остаётся таким же самым бизнесом. Во времена изобретения мнимых чисел математики соревновались в решении уравнений на скорость за деньги
На литкоде ты numpy не затащишь, только стандартная либа
Не знаете бинарный поиск? Читайте книгу Грокаем алгоритмы
Портал из Diablo?))) like
лол он до сих пор видосы выкладывает. уже разоблачили 100 раз этого афериста
сомнительно, но окэээй
Алгоритмы особо не нужны, чтобы красить кнопки и писать круды, но дальше могут пригодиться
Только вчера увидел +-идентичное видео от neetcode. Мне интересно, это случайность?)
Выдал базу
Давно смотрю тебя. Не понимаю, кто твои подписчики? Люди, которые только выучили что такое массив? Или софт инженеры которым интересно как писать собственный gc?
Все сразу
бинарное дерево поиска не является массивом...
если я разобрался в бинарном поиске забыл потом снова разобрался и снова забыл, может он мне не нужен?
Значит не разобрался 😀
Когда реально что-то понял, то ты всегда это можешь вывести.
Я давно забыл формулу корня квадратного уравнения и всякие суммы синусов и косинусов, но я всегда могу их вывести, потому что у меня сами принципы на уровне чувств, а чувства не забываются :)
@@egor.okhterov в школе формулу корня квадратного уравнения на зубок знал и постоянно использовал, как вышел со школы - забыл и не смогу ничего решить. Это я не разобрался или мозг избавился от информации которую я после школы никогда больше не использовал?
Пока смотрел видео, успел захлебнуться от потока воды от автора...
А ты отжимаешься?
Я вот раньше на турник бывало вот так прыгал... ооп
Бро привет, я заканчиваю 11 класс и я не знаю какую сферу айти выбрать. Я бы хотел выбрать сферу ИИ разработчик, но я не знаю что я буду там делать или что нужно знать и учить чтобы стать им. И где я буду работать? Если выберу ИИ разработчика, как я буду работать где я найду работу? Вот это всё меня тревожит, можешь ли ты ответить пожалуйста.
для ИИ нужно знать Python, базу алгоритмов и структур данных для собесов (так больше шанс не слиться на собеседовании, если в какие то более крупные компании пойдешь), библиотеки для работы с ИИ, работать с данными - pandas, numpy, парсинг сайтов (тоже библиотеки python, можешь у чата гпт спросить, он тебе и план составит по этому всему), тебе обязательно нужно хорошо знать основные архитектуры машинного обучения, теорию в ИИ, много практиковать обучение моделей или хотя бы просто делать какие-то мини проекты. на самом деле порог входа невысокий (если ты не собрался делать стартап, ведь для обучения нормального трансформера нужно много ресурсов), а так все можно загуглить/ у чатагпт спросить, но проверяй информацию.
Массивы знаю, бинарный поиск как и кучу других тоже, включая сортировки. Че такое литкод понятия не имею. И автор повторяет это лучше любого маркетолога который хочет что то продать )
В программировании важно не столько знание конкретных шаблонов, сколько логику написания кода и способность писать его самостоятельно, зная базовый синтаксис. Способность самостоятельно придумать и написать поиск используя разные приемы и разные циклы будет значить больше чем просто запоминание конкретных отшлифованных алгоритмов. Потому что добавив к умению придумать что то, способность оптимизировать на основе представлений о скорости работы тех или инных методов, человек сам напишет тот идеальный алгоритм, в не худшем виде когда он окажется ему необходим.
чё ты высрал, какой маркетолог. Литкод нужен для того пробовать разные задачи, и развиваться в разные стороны.
Решал как то задача о рюкзаке и банкомат в задаче про банкомат тупил сутки оказывается нужно было решить динамическим программированием а не жадным алгоритмом поиск подстроик в строке не мог решить пока не нашел алгоритм Кнутта Морриса Пратта
Интересно, это связано с тем, что сегодня на литкоде задача дня уровня хард? (22.12)😅
Вин, ну где же плюсы??
Работаю уже 6 лет, но только сейчас узнал что есть бинарный поиск, видео не досмотрел, потому что нет времени 🙃
спс, но часто музыка мешает
и почему же полусумма плохая практика?
вылет за край?
Мне в литкоде особенно нравятся задачи с алгоритмами bfs и dfs
Линкед листы тоже очень интересные
Раньше когда слышал что нужно повернуть дерево или линкед лист я думал что это что то не достигаемое для меня, т.к. это в гугле спрашивают
А сейчас все эти деревья и линкед листы верчу как профи😂
Бинарный поиск недавно был драматически улучшен. Оказалось, что типовой случай применения - это такая поисковая задача, когда в большинстве случаев искомый элемент не находится из-за того, что вообще выходит за границы массива. Т.е. оказывается больше самого большого или меньше самого меньшего. И если у тебя такой поисковый кейс, то гораздо эффективнее на каждом шаге делить отрезок не пополам, а откусывать 1/4 с одного из концов, в зависимости от того, какую часть выбираешь - правую или левую. Алгоритм 60 лет считался оптимальным, потому что никто просто не подумал о практической стороне его применения.
довольно забавно выпускать видео длиной в 10 минут, в котором так и не пояснили нормально за чертов бинпоиск)
за 10 минут можно персистентную очередь разобрать
Он не умеет
В вузе проходили это
хз, пишу приложение на десктоп с Qt на c++ и вопрос - зачем мне эти бинарные поиски?
Они не только в десктопе не нужны. Это просто способ самоутвердиться для задротов.
Для собесов, тебе же сказали в начале
Для парсинга json конфигов бинарный поиск удобно использовать для валидации полей
А что делает приложение ? Бинарный поиск может пригодится для быстрого нахождения числа в массиве.
@@igorglushatov1948 про готовые библиотеки не слышал ?! )))))
2:43 - 4:30
какая музыка?
Группа Тутси - Тому ли я дала.
Нафиг этот литкод не усрался, особенно в РФ. Только всякие бесполезные курсы его втирают. А алгоритмы если и были нужны, то совершенно другого плана.
И программировать они тоже не научат. Нравятся алгоритмы - учите высшую математику, а не литкод.
Такого же мнения ! Если бы алгосы использовались в реальной работе их знал бы каждый Джун без всяких литкодов. А так ересь полная.
в 99% релаьной разработки не нужны алгоритмы
@@jon4775 в некоторых областях на все 100% ! )))
а какого плана нужны алгоритмы?
@@alexlightweight Просто сейчас не нужно изобретать алгоритмы или писать их с нуля. Пишешь qsort, hashmap, binary_search, un/ordered_map и всё это под капотом используется алгоритмы написанные до тебя. И сейчас задачи в основном бизнесовые это перекладывать json из базы в базу. Но это теория это надо знать, а джуны даже не могут правильную структуру выбрать. А то сколько раз вижу что выучили один list и на нём сортируют в цикле чтобы получить вместо nth_element. Это как строить дом без чертежа и сопромата, зная лишь то что кирпич ложить на кирпич.
автор:бинарный поиск. что себе представляю я- ты пишешь код для поиска нужного символа в оперативной памяти на ассемблере.
Вот на ассемблере его поинтереснее писать, чем на плюсах ) И полезнее. На плюсах то он уже написан и есть в библиотеках. А вот если ты ломаешь сервак и пишешь шеллкод на асме для брутфорса пароля - тут то тебе и пригодится быстрый поиск символа
А память что, отсортирована что ли?)) Почему такая ассоциация?
Можешь начинать представлять работу кремния в полупроводниках ))
Ахахахах чел ты бы дальше тачки перепродавал, зачем тебе это программирование ?
127й в комментарии и 15 718й в просмотре
яяяяяяя
посмотрел видос - очередной раз пришол к выводы, в начале начал надо прочитать Гроккаем алгоритмы.
там в простой форме все это юыло подано уже неск лет назад.
Алгоритмы нафиг не нужны в реальной работе ! Хватит впаривать начинающим что им необходимы алгосы. и вообще распространять этот идиотский миф.
Ага ага, я учусь на кибербеза и терь страдаю, потому что не учил алгосы в начале
@@adori.eterno ну кибербез это другое)
@@adori.eterno для веба нахер не нужны
@@RomanUnrealСкорее вебмакаки это другое. Даже в том самом ds пригождаются алгоритмы при работе с графовыми данными. Тупо для вычленения признаков.
А потом получается - при обработке 10К+ записей для каждой лезем в базу для получения ID из словаря групп на 100 записей
Йоу
1-й
да
Литкод - зло
кодворс - гавно!
Где мой комментарий?
Снесли?
1:35 а кто хорош в паттернах и шаблонах? Правильно - компьютеры, нейросети и искусственный интеллект, вот поэтому программирование - это мёрвая профессия!
Вообще нет. Он очень херово решает олимп. задачи.
@@tusman4ik Вы давно пробовали проверять?
@@tusman4ik на работе часто приходится решать олимп. задачи?
@@primeditor0 проверять что? Я сижу, решаю задачи. Когда в тупике, иду спрашиваю ГПТ. Он несёт херню в 99,% случаев.
@@Oleg-rw7dg не работаю, но в проекте реализовывал свой подсчёт модифицированного расстояния Левенштейна.
Знаите пацаны мне всегда казалось в бинарном поиске когда мы ищем середину [mid = left + (right - left) / 2] что типа мы начниаем искать не с 1/2 массива, а начинаем с 1/4 массива.
help с каких пор 2147483648.0 округляется до 2147483647? В тоже время 1,0 до нуля почему то не округляется
блин как я хочу оформить подписку на литкод вечную...