Модуль collections в Python: ваш чит-код для решения алгоритмических задач

Пишете list.pop(0) и удивляетесь, почему решение на LeetCode отваливается по Time Limit? Пора перестать изобретать велосипед. Модуль collections — это легальный чит-код, который уже встроен в Python. В статье разбираем три главных инструмента (deque, Counter, defaultdict), которые покроют 90% ваших потребностей в алгоритмических задачах, избавят от лишних циклов и покажут интервьюерам, что вы действительно знаете стандартную библиотеку.

https://habr.com/ru/articles/1032834/

#python #collections #алгоритмы #leetcode #собеседования #структуры_данных #deque #counter #defaultdict #big_o

Модуль collections в Python: ваш чит-код для решения алгоритмических задач

Привет, Хабр! Если вы хоть раз пытались вкатиться в алгоритмы, решали задачки на LeetCode или готовились к собеседованиям, то наверняка ловили в лицо обидную ошибку Time Limit Exceeded (TLE) . Вроде...

Хабр

Понять Big O раз и навсегда

На локалке всё летает, а на проде ложится замертво? Дело в масштабировании. Big O — это не скучная теория для алгоритмических собеседований, а реальный инструмент, чтобы ваш код не «убивал» сервера. В этой статье я на простых примерах и без зубодробительной математики объясню, как оценивать сложность своих алгоритмов. От до — только суть, примеры на Python и немного здоровой иронии над медленным кодом.

https://habr.com/ru/articles/1030772/

#Алгоритмы #big_o #сложность_алгоритмов #python #обольшое #оценка_сложности #оптимизация_кода

Понять Big O раз и навсегда

1. Введение Бывало такое: пишешь фичу, проверяешь на локалке — всё летает за миллисекунды. С чистой совестью катишь в прод. А через месяц объемы данных вырастают, приходят реальные юзеры, и всё...

Хабр

Big O от абстракции на собеседованиях к реальному коду

"Этот алгоритм работает за O(n log n)", часто вспоминается эта фраза, когда мы хотим пойти на собеседование, звучит как что-то абстрактное из учебников по алгоритмам. На самом деле Big O — это способ описания производительности функции без привязки к конкретному времени выполнения.

https://habr.com/ru/articles/1006340/

#алгоритмы #big_o #собеседование #бэкенд #фронтенд

Big O от абстракции на собеседованиях к реальному коду

"Этот алгоритм работает за O(n log n)", часто вспоминается эта фраза, когда мы хотим пойти на собеседование, звучит как что-то абстрактное из учебников по алгоритмам. На самом деле Big O — это...

Хабр

[Перевод] Big O

Нотация Big O ("О" большое) — это способ описания производительности функции без измерения времени ее выполнения. Вместо того, чтобы засекать, сколько секунд выполняется функция от начала до конца, Big O показывает, как меняется время ее выполнения по мере увеличения размера входных данных. Этот подход помогает понять, как программа будет вести себя при разных объемах входящей информации. В этой статье я разберу четыре наиболее часто встречающиеся категории нотации Big O: константную, логарифмическую, линейную и квадратичную. Не переживайте, если эти термины пока ничего вам не говорят — мы подробно рассмотрим каждый из них и наглядно визуализируем в процессе.

https://habr.com/ru/companies/timeweb/articles/942956/

#big_o #о_большое #time_complexity #временная_сложность #алгоритмы #algorithms #timeweb_статьи #timeweb_статьи_перевод #javascript #js

Big O

Нотация Big O («О» большое) — это способ описания производительности функции без измерения времени ее выполнения. Вместо того, чтобы засекать, сколько секунд выполняется функция от начала до конца,...

Хабр

Я устал писать плохой фидбек на алгоритмических собеседованиях

Уверен, ты уже был на алгоритмическом собеседовании. А если нет, то напомню: это крышесносный квест, где тебе предстоит выложить всю подноготную университетской программы, блеснуть знанием структур данных — и за час решить пару задач. Начинаю с юмора, потому что лично у меня, как у интервьюера, внутри всё сжимается, когда вижу, как кандидаты совершают одни и те же ошибки. Так вот. Я расскажу тебе историю одного показательного собеседования, чтобы ты не наступил на те же грабли — и зашёл на алгоритмическое собеседование не с одной, а сразу с трёх ног. Ну всё, погнали.

https://habr.com/ru/articles/914598/

#собеседование #программирование #задача #algorithms #interview #big_o

Я устал писать плохой фидбек на алгоритмических собеседованиях

Уверен, ты уже был на алгоритмическом собеседовании. А если нет, то напомню: это крышесносный квест, где тебе предстоит выложить всю подноготную университетской программы, блеснуть знанием структур...

Хабр

[Перевод] Алгоритмическое мышление для дата-сайентистов: как писать код, который экономит время и место

Алгоритмическое мышление помогает писать быстрый код, который экономно расходует вычислительные ресурсы памяти и хранилища. Сегодня в профессию переходит всё больше аналитиков из других предметных областей, и не все из них знакомы с концепцией алгоритмического мышления. Статья призвана заполнить этот пробел в знаниях. В ней приводится общее описание концепции и примеры практических задач, которые часто предлагают на собеседовании будущие работодатели. Спойлер: алгоритмическое мышление — это необходимый для дата-сайентистов навык, важность которого сохранится и в будущем, в том числе в решениях на базе ИИ.

https://habr.com/ru/companies/netologyru/articles/831160/

#алгоритмы #сложность_алгоритма #алгоритмическое_мышление #решение_задач #Пойа #c++ #реализация_цикла #big_o #динамическое_программирование #Мэтт_Уэлш

Алгоритмическое мышление для дата-сайентистов: как писать код, который экономит время и место

Алгоритмическое мышление заключается в том, чтобы, объединив строгую логику и творческие способности, структурировать, решать и анализировать задачи, чаще всего с помощью компьютера. С алгоритмическим...

Хабр

Сложность алгоритмов. Разбор Big O

Сложность алгоритмов - это ключевой аспект при проектировании и создании веб-приложений, особенно при работе с большим объемом данных или выполнении вычислительно сложных операций. Понимание, как оценивать сложность алгоритмов, помогает принимать обоснованные решения в выборе алгоритмов и структур данных, а также оптимизировать производительность своих приложений. Сейчас мы рассмотрим, почему знание сложности алгоритмов является важным навыком для разработчика, какие методы используются для оценки сложности, и какие практические применения можно найти для этого знания при создании веб-приложений. На тему сложности алгоритмов часто задаются вопросы на техническом собеседовании. Поэтому я настоятельно рекомендую не пропускать это видео.

https://habr.com/ru/articles/782608/

#сложность_алгоритмов #big_o #javascript #open_js

Сложность алгоритмов. Разбор Big O

Сложность алгоритмов - это ключевой аспект при проектировании и создании веб-приложений, особенно при работе с большим объемом данных или выполнении вычислительно сложных операций. Понимание, как...

Хабр