Как вы их учили? Могу только в общих чертах понять что он делает, максимум описать абстрактные шаги, а по памяти реализовать не смогу никак. Есть какие-то не очевидные методики или если не могу запомнить, то все, слишком тупой?
>>327688821 (OP) Все проще, во-первых просто для начала посмотри видео про алгоритмы, про то как они работают, ранжируй от самых быстрых до самых медленных. Попытайся в общих чертах понять почему один лучше другого, почему тот же квиксорт лучше, чем сортировка пузырьком. Учить их побуквенно в коде не нужно - ты их никогда не будешь писать. Когда тебе понадобится написать некий фрагмент сортировки в своей функции, к примеру, ты просто по памяти откроешь как он устроен и уже посидев минут 15 напишешь все хорошо. Я помню тоже пытался их заучить, прям учил куски кода со всеми этими i, j и так далее.
>>327688821 (OP) Возьми какую-нибудь книжку по алгоритмам, начиная от Кормена заканчивая элементс оф программинг интервью и читай. Суть в том, что есть не очень много категорий алгоритмов, внутри которых все они похожи. Алгоритмы работы со списком, с сортированным списком, с [вставь имя структуры данных], обходы графов, жадные алгоритмы, динамическое программирование, вот и все. Тебе грубо говоря не надо запоминать "алгоритм Дейкстры это ...'" тебе надо "хуе мое тут надо граф обойти, это я знаю, а тут надо записать для каждого узла известный кратчайший путь, это мемоизация". Ну и алгоритмы - это на 20% знания, и на 80% практика, так что после каждой главы из книжки не забудь прорешать 5-10 задач на литкоде по этой теме. Источник - я в аспирантуре преподавал студентам лабы по этой хуйне и за последние четыре года поменял три работы анальником.
Это говнище не нужно учить, нейронка за тебя любой алгоритм сортировки напишет, главное запомнить какая из них эффективнее в какой ситуации. Сейчас 2025 год, учить алгоритмы все равно что выплавлять сталь и рубить лес и делать из этого молоток, чтобы забить гвоздь в стену, когда уже есть готовые. Бизнесу нужно решить проблему используя прикладные средства, а не это ваше байтоебство.
>>327689846 От какого индуса? Матан не нужен, школьной математики за десятый класс (грубо говоря, иметь представление что такое логарафм, полином и экспонента) хватит для 95% задач.
>>327690086 Отчасти ты прав, но забываешь очень важное - чтобы работать в бизнесе, надо сперва пройти интервью. А литкод - это пока лучшее что придумали для интервью, потому что за час можно достоверно выяснить три вещи - что кандидат хоть немного умеет программировать, что у кандидата есть хоть какое-то абстрактное мышление и распознавание паттернов, и что кандидат или помнит из универа хоть что-то, или в состоянии быстро выучить если нужно. Это все необходимые качества любого инженера/ученого в техе, так что литкод интервью врят ли исчезнут в ближайшее время.
плюс если учить алгосы на конкретном языке, там так или иначе будут вылезать специфические для языка вещи, которые будут тебя отвлекать от сути, поэтому лучше псевдоязык+картинки
как запомнил на псевдоязыке - переведи его в нужный тебе язык сам и все поймешь сразу
ты же как посрать или дрочить можешь алгоритмически описать? так и тут просто шагов и циклов больше
>>327692608 плюс нужно понимать че тебе нейронка высрала. Она конечно ускоряет но часто приходится указывать что именно ей нужно написать. А если это какие-то вариации алгосов которые ты сделал, то тем более. Хотя это все равно быстрее чем руками прописывать, но требует знаний чтобы юзать
>>327688821 (OP) >Есть какие-то не очевидные методики Да. 1) Задрачивать сами алгоритмы путём написания самостоятельно без подсказок. 2) В целом задрачивать решение алгоритмических задач на литкоде или кодварс. >>327689515 Этот прав.
Кстати, как называется хуйня на оп-пике? Какая то смесь bucketsort с сортировкой по разрядам.
>>327692608 >А литкод - это пока лучшее что придумали для интервью Не согласен. На хороших собесах спрашивают, как ты реализуешь такую то систему, а ожидаемый верный ответ - грамотно написать класс. Или дописать/изменить существующий. Это гораздо ближе к практическим задачам.
>>327688821 (OP) Нахер тебе алгоритмы на Lua? Не нада их учить, нужно понимать суть и O нотацию. Перед собесом перечитываешь Седжвика, после собеса забываешь. Если в должности не написано, что нужен математик-программист, и на собесе попросили алгоритм написать, что то сложнее пузырька, по памяти, то шлешь их нахер и не тратишь свое время на долбоебов. Один хер будешь основное время тратить на размышление о том как фичу воткнуть в эту говноархитектуру и ничего не сломать, а не код писать, и тем более алгоритмы реализовывать.
>>327688821 (OP) Алгоритмы надо учить от простого к сложному, не пытайся сразу хуярить обход дерева или понять квиксорт - начни с простого. Например, пойми и напиши свой двухсвязный список, свое дерево итп
Как вы их учили?
Могу только в общих чертах понять что он делает, максимум описать абстрактные шаги, а по памяти реализовать не смогу никак.
Есть какие-то не очевидные методики или если не могу запомнить, то все, слишком тупой?