Найти в Дзене
Покупайте СтеллыИ дарите их за контент
3 дня назад

Префиксное дерево (Trie): устройство и применение в автодополнении

В книге «Грокаем структуры данных» Марчелло Ла Рокка подробно разбирает архитектуру префиксного дерева (Trie) - специализированной древовидной структуры данных, оптимизированной для поиска строк по префиксу. В отличие от хеш-таблиц, где время поиска ключа зависит от качества хеш-функции и разрешения коллизий, Trie индексирует последовательность символов шаг за шагом. Каждый узел дерева представляет отдельный символ строки, а ребра соединяют последовательные элементы слова. Ключевые инженерные преимущества Trie: • Предсказуемая алгоритмическая сложность - время поиска, вставки и удаления определяется длиной искомого слова L и не зависит от общего объема сохраненных строк N, составляя O(L)...

4 дня назад

Векторизация в pandas: почему циклы for замедляют обработку данных

В книге «Python и анализ данных» Уэс Маккинни подробно разбирает устройство внутренних структур pandas и NumPy, объясняя принципиальную разницу между вычислениями на уровне интерпретатора Python и оптимизированными операциями над массивами в памяти. Стандартный цикл for в Python при каждой итерации выполняет динамическую проверку типов (type checking), распаковку объектов и служебные вызовы среды исполнения. При обработке миллионов строк накладные расходы интерпретатора превышают полезную вычислительную нагрузку в десятки и сотни раз. Архитектурные механизмы оптимизации: • Однородные массивы...

5 дней назад

Межсайтовый скриптинг (XSS): анатомия векторов атаки и эшелонированная защита

В книге «Грокаем безопасность веб-приложений» Малькольм Макдональд разбирает механику внедрения стороннего исполняемого кода в контекст доверенного веб-сайта. Уязвимость Cross-Site Scripting (XSS) возникает, когда неотфильтрованные пользовательские данные напрямую конкатенируются с HTML-разметкой страницы. В зависимости от способа доставки вредоносной полезной нагрузки выделяют три базовых вектора: • Хранимый (Stored XSS) - скрипт сохраняется в базе данных сервера (комментарии, профили, отзывы) и исполняется в браузере каждого посетителя страницы. • Отраженный (Reflected XSS) - вредоносный код...

6 дней назад

Алгоритм Дейкстры против поиска в ширину: почему кратчайший путь не всегда самый быстрый

В книге «Грокаем алгоритмы» Адитья Бхаргава разбирает фундаментальные различия в графовой навигации. При решении задач поиска маршрута часто возникает путаница между двумя метриками: количеством промежуточных узлов (шагов) и суммарной стоимостью пути. Поиск в ширину (Breadth-First Search, BFS) работает на невзвешенных графах. Алгоритм гарантированно находит путь с наименьшим количеством ребер. Однако в реальных сетевых топологиях и транспортных системах каждое ребро обладает весом (задержка пакета, пропускная способность, расстояние или время). Путь из двух сегментов с высокой задержкой может выполняться дольше, чем маршрут через четыре быстрых транзитных узла...

1 неделя назад

Взаимная блокировка vs активная блокировка: почему вежливые потоки зависают

В книге «Грокаем конкурентность» Кирилл Бобров разбирает сценарии сбоев при синхронизации параллельных задач. Когда нескольким потокам требуются одни и те же общие ресурсы, некорректная работа с блокировками приводит к двум разным видам зависания: deadlock и livelock. Анатомия взаимной блокировки (Deadlock): Ситуация возникает, когда каждый поток захватывает один ресурс и бесконечно ожидает освобождения второго, занятого соседом. Классический пример - задача об обедающих философах: если каждый участник берет левую палочку, правых никому не достается, и вся система блокируется в ожидании (wait state)...

1 неделя назад

Регуляризация L1 и L2: отбор признаков против подавления весов

В книге «Грокаем машинное обучение» Луис Серрано разбирает математические механизмы предотвращения переобучения моделей регрессии и классификации. Когда алгоритм подгоняется под шум в обучающей выборке, коэффициенты признаков начинают неоправданно расти, что приводит к деградации качества на новых данных. Регуляризация штрафует сложность модели путем добавления штрафного слагаемого к функции потерь, умноженного на коэффициент λ. Различия между L1 и L2: • L1-регуляризация (Lasso) - добавляет к функции ошибки сумму абсолютных значений весов. Геометрически штраф формирует ромбовидную область допустимых значений, вершины которой лежат на координатных осях...

Покупайте СтеллыИ дарите их за контент