Data Science: Алгоритмы и Структуры данных
Открыть в Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество: @oleginc Канал на бирже: https://telega.in/c/structuredata
Больше7 614
Подписчики
-224 часа
-117 дней
-4930 дней
Архив постов
6+ главных алгоритмов балансировки нагрузки
Балансировка нагрузки – процесс распределения входящих запросов между доступными серверами. Популярные подходы к балансировке по-разному решают проблему перегрузки системы. В этой статье мы рассмотрим принципы работы, преимущества, недостатки и оптимальные сценарии использования самых известных алгоритмов.
https://proglib.io/p/6-glavnyh-algoritmov-balansirovki-nagruzki-2024-08-06
Алгоритмы и Структуры данных
⚡️Слита База из 1000+ топовых курсов и материалов для айтишников
🖥 Python — 1558+ материалов
👩💻 Frontend — 1241+ материалов
👩💻 Backend — 1095+ материалов
📊 SQL & Data — 978+ материалов
🤖 Нейросети – 855+ материалов
🎨 Веб-дизайн — 824+ материалов
📚 Книги по IT — 779+ материалов
Всё лучшее про IT бесплатно — уже на Базе 🚀
Решаем Wordle с 3,64 попыток в 99,4% случаев
Недавно я играл в головоломку Wordle, параллельно думая, как бы её могла решать программа.
[Прим. пер.: Wordle — игра в отгадывание слов, напоминающая «быки и коровы». Правила достаточно ясны по скриншоту выше.]
Первым делом я извлёк списки слов с сайта Wordle. Любопытно, что существует «целевой» список из 2315 слов, которые могут быть ответами, но и дополнительный список из 10657 возможных догадок — вариантов, которые могут вводить пользователи, но которые никогда не будут ответом. Если вам нужны эти списки, то в репозитории ниже есть пара set в формате Python.
https://habr.com/ru/articles/647391/
Алгоритмы и Структуры данных
Алгоритм Дейкстры. Разбор Задач
Поиск оптимального пути в графе. Такая задача встречается довольно часто и в повседневной жизни, и в мире технологий. Справиться с такими вызовами помогает подход, который должен быть в арсенале каждого программиста — алгоритм Дейкстры.
Если вы хотите найти ответить на вопросы, чем этот алгоритм лучше BFS (поиска в ширину), при каких условиях алгоритм применим, и какие теоретические и практические задачи можно с его помощью решать, читайте далее.
https://habr.com/ru/companies/otus/articles/599621/
Алгоритмы и Структуры данных
Big O
Нотация Big O («О» большое) — это способ описания производительности функции без измерения времени ее выполнения. Вместо того, чтобы засекать, сколько секунд выполняется функция от начала до конца, Big O показывает, как меняется время ее выполнения по мере увеличения размера входных данных. Этот подход помогает понять, как программа будет вести себя при разных объемах входящей информации.
В этой статье я разберу четыре наиболее часто встречающиеся категории нотации Big O: константную, логарифмическую, линейную и квадратичную. Не переживайте, если эти термины пока ничего вам не говорят — мы подробно рассмотрим каждый из них и наглядно визуализируем в процессе.
https://habr.com/ru/companies/timeweb/articles/942956/
Алгоритмы и Структуры данных
⚡️ Айтишник из «VISION» скупил курсы айти школ и выложил гигабайты материалов к себе
Каждый найдет что-то по душе:
1202 ГБ — Python
1811 ГБ — Frontend
1100 ГБ — C / C++ / C#
804 ГБ — Java
411 ГБ — SQL & БД
309 ГБ — DevOps
998 ГБ — ИБ & Хакинг
773 ГБ — Kotlin / Swift
189 ГБ — PHP
201 ГБ — GoLang
170 ГБ — Rust
167 ГБ — QA / Тестирование
310 ГБ — 1C + Лицензии
495 ГБ — Машинное обучение
704 ГБ — Аналитика Данных
991 ГБ — Дизайн
Материалы в закрепе, постоянно пополняются👆🏻
Криптографические губки
Структура криптографических алгоритмов, названная ее авторами «губкой» (sponge), была предложена в 2007 году. Название не случайно – у предложенных алгоритмов действительно есть сходство с обычной губкой, состоящее в том, что алгоритмы данной структуры выполняют преобразования в два основных этапа:
https://habr.com/ru/companies/aktiv-company/articles/944914/
Алгоритмы и Структуры данных
Как мы ищем рестораны на карте: геоиндекс в Яндекс Еде
Любому пользователю сервиса доставки еды важно быстро получать актуальную информацию о доступных ресторанах и стоимости доставки. От нас же простая задача определить, из каких ресторанов возможно оформить заказ для пользователя с учётом сложных и постоянно изменяющихся зон доставки, требует не только высокой скорости обработки запроса, но и оперативного обновления данных, а также экономии вычислительных ресурсов.
Привет! Меня зовут Серёжа Синягин, я старший разработчик в Яндекс Еде и пишу на C++. В этой статье расскажу о задаче, с которой столкнулся в работе: как мы определяем, какие рестораны доступны пользователю для заказа. По пути заглянем во внутреннюю кухню, обсудим библиотеку H3 от Uber и разберём, как устроены R‑деревья и как мы используем их у себя.
https://habr.com/ru/companies/yandex/articles/945004/
Алгоритмы и Структуры данных
Приглашаем на Yandex Neuro Scale
В этом году главная конференция Yandex Cloud объединит разработчиков, архитекторов, инженеров и IT-руководителей, чтобы обменяться опытом и увидеть, как работают технологии, которые меняют индустрии. 7 тематических треков, 50+ докладов, реальные бизнес-кейсы и нетворкинг!
✨Участие бесплатное, нужно только зарегистрироваться!✨
Зарегистрироваться
#реклама 16+
scale.yandex.cloud
О рекламодателе
Реклама на Яндексе
Мой босс — робот. Все, что нужно знать о найме “цифровых работников”
Долгое время я, Сергей Бобрецов, руковожу развитием и разработкой платформой ТУРБО Х (направление бизнеса “Консист Бизнес Групп”), позволяющей автоматизировать многие процессы. Но в этом тексте я хочу поразмышлять о другом - о недавно возникшем феномене “цифровых сотрудников”. Они могут иметь навыки, отличающиеся от наших, и быть «натренированы» для выполнения различных задач. Цифровых сотрудников можно “вырастить” самим, а можно нанять в аутсорсинг. Об особенностях их найма, оценки эффективности и причинах возникновения, рассказываю ниже.
https://habr.com/ru/companies/lanit/articles/646419/
Алгоритмы и Структуры данных
Бесплатный мини-курс: освой базу тестирования за 72 часа
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 30 сентября!
👉 Записаться бесплатно (осталось 12 мест).
Ещё одно решение игры Wordle на Python
В начале 2022 года мир захватила головоломка Wordle и почти сразу стали появляться варианты решения. На Хабре уже появилось описания двух вариантов решения, но они мне не понравились, поэтому я изобретаю свой собственный велосипед. Ссылки на предыдущие решатели:
https://habr.com/ru/articles/647783/
Алгоритмы и Структуры данных
Медианный фильтр на двух бинарных кучах
В программировании микроконтроллеров порой приходится прибегать к такому программному компоненту как медианный фильтр. Вот вам яркий пример. Вы измеряете расстояние UWB трансиверами между радиопередатчиками и вдруг у вас образуются единичные редкие отбросы, которые никак не характеризует измеряемую величину. Или вы опрашиваете емкостную кнопку и от скачка питания она тоже может дать редкие, но высокие значения отдельного семпла. Классическое решение для исключения таких отбросов - это медианный фильтр.
Ситуация осложняется тем, что на курсах ЦОС(DSP) в ВУЗах обычно про медианный фильтр даже не вспоминают, отводя всё время на обзор FIR(КИХ) и немного IIR(БИХ) фильтров. Хотя достоинство МФ в то, что у него всего один конфиг: порядок фильтра и медианный фильтр (МФ) предназначен для того, чтобы как раз исключать одиночные отбросы сигнала.
В этом тексте я произвел разбор решения LeetCode задачи 480. Sliding Window Median в контексте реализации на языке программирования Си.
https://habr.com/ru/articles/935750/
Алгоритмы и Структуры данных
Разбираем условия Каруша–Куна–Таккера. Решаем сложно простую задачу
Если Вы когда-то учились в вузе на технической специальности или учитесь сейчас (иначе, зачем бы Вам эта статья), у Вас наверняка есть предмет, который назывался примерно так — «Методы оптимизации» / «Введение в оптимизацию» или что-то похожее. Задачки там примерно такие: «завод производит продукцию k типов, как бы произвести n_1 деталей первого типа, ..., n_k деталей k-го и как можно дешевле». Потом рассказывалось про симплекс-метод для задач линейного программирования и про метод Лагранжа для задач нелинейного. Про указанные выше условия где-то упоминается, но без примеров, где-то сразу абстрактные примеры с матрицами, а может быть Ваш препод и вовсе написал в своей методичке, мол, это выходит за рамки курса. В этой статье предлагаю аккуратно разжевать на простом примере, что такое условия Каруша–Куна–Таккера (ККТ).
https://habr.com/ru/articles/944628/
Алгоритмы и Структуры данных
Решение задачи о количестве клеток с суммой цифр координат меньше заданного числа
Есть бесконечная плоскость, вымощенная квадратными клетками
У каждой клетки есть две координаты в виде целых чисел
Координаты от минус бесконечности до плюс бесконечности
В клетке с координатами (0,0) находится муравей (в другой версии обезьяна)
Он может перемещаться вертикально или горизонтально только на 1 клетку, только на клетки, у которых сумма цифр координат не больше определённого числа N.
Например, у клетки с координатами (758, -219) сумма цифр координат 7+5+8+2+1+9=32
Случай, когда рассматривается количество клеток без взаимосвязи с тем, можно ли к ним пройти или нет, рассматривать бессмысленно, т.к. существует бесконечное число клеток с координатами вида (0, 1000……000) с различным количеством нулей.
https://habr.com/ru/articles/944576/
Алгоритмы и Структуры данных
Альтернативные подходы к решению «Парадокса двух детей»
Как-то раз, просматривая новостную ленту перед работой, я наткнулся на почти ничем не примечательную статью на нашем любимом Хабре. Статья эта очень близко пересказывает страницу из Википедии, которая называется «Парадокс мальчика и девочки». Примечательна эта статья на Хабре лишь тем, что под стандартным и общепринятым решением этой несложной задачи разразился почти что холивар на тему правильности решения/формулировки задачи и адекватности автора.
В этой статье я хотел бы вставить свои пять копеек и выразить несколько своих мыслей по этому поводу, которые накопились на небольшую статью. Основная их цель — найти способ объяснить решение этой задачи человеку, который знает тервер на самом базовом школьном уровне, и который не имеет никакой теоретико‑вероятностной интуиции (такие люди, в основном, и рождали споры в комментариях). Конечно, без базовых знаний в других областях математики не обойтись, но на мой взгляд, если такое объяснение существует, то это неплохая альтернатива классическому решению. Ибо истинное решение задачи из теорвера зачастую противоречит человеческой интуиции. Кстати, слово «парадокс» я взял в кавычки вместе с названием, так как считаю это не совсем парадоксом, а вполне себе задачей с однозначными формулировкой и решением. Парадокс возникает как раз при сопоставлении решения и человеческой интуиции.
https://habr.com/ru/articles/944552/
Алгоритмы и Структуры данных
Сводные показатели сделок в Athenix
На связи снова Андрей Счастливый! Сегодня я расскажу о том, как я в свой проект Athenix (о котором вы можете почитать подробнее в предыдущей статье) интегрировал анализ сделок за прошедшие торговые сессии для анализируемых акций биржи MOEX. Группа проекта во вконтакте и ссылка на уже готовые для анализа графики на яндекс диске.
https://habr.com/ru/articles/944488/
Алгоритмы и Структуры данных
Станьте дизайнером, чтобы получить дополнительный доход
Освойте основы дизайна и начните зарабатывать на фрилансе — от 2000 ₽ за час, совмещая с работой, учёбой или другими делами.
Skillbox предлагает бесплатный мини-курс, где вы выполните реальные задачи в веб-дизайне, графике и иллюстрации.
Так вы поймёте, подходит ли вам дизайн как способ подработки в свободное время.
👉 Забирайте курс по ссылке — доступ открыт до 9 сентября:
https://go.avred.online/d1d8072f035031a0?erid=2VfnxxcSezk&m=1
Интерпретация и оптимизация перцептрона Розенблатта
В прошлой статье на хабре "На дворе LLM, а книгу о перцептроне так никто и не открыл!?" я указал, что многие понятия не имеют о перцептроне Розенблатта, но пишут о нем так как будто читали оригинал. И так или иначе в комментариях прошла дискуссия, как минимум с тремя оппонентами, которые тоже находятся в разного рода не знании о перцептроне. Что только подтверждает мои слова, что это массовое явление. Поэтому даже в научной статье мне придётся этому уделить не малое внимание. Свою статью, я еще не опубликовал, да ещё полностью и не написал, хотя все эксперименты были сделаны 15 лет назад, а сейчас их нужно улучшить. Собственно, когда я сам стряхнул пыль с них, я долго не мог по программному коду понять, о чем это, что это дает, так и возникла моя мысль, что это нужно донести людям. И подумал, почему бы мне некоторые разделы будущей статьи, сразу не взять и не опубликовать тут на хабре. Имея широкий охват, это может иметь даже большую пользу, чем публикация в модерируемом издании. Поэтому ниже я дам выдержки из своего черновика статьи "как есть", относящиеся в основном к "утерянной памяти о перцептроне", но т.к. как это часть научной статьи, настоятельно прошу при цитировании ссылаться на меня. Хотя и понимаю, что выдержки не дадут вам полного понимания проблемы, но как минимум расскажут о известных фактах и надеюсь, все же уберегут от поверхностного взгляда. Ну и мало ли - если тут найдется специалист, который публикуется на https://arxiv.org последние 5 лет, мне нужна ваша помощь с рекомендацией, свяжитесь со мной. Тогда полноценная статья выйдет быстрее.
https://habr.com/ru/articles/944462/
Алгоритмы и Структуры данных
Жадные алгоритмы: когда локальное решение ведёт к глобальной победе
В этой статье мы разберем концепцию жадных алгоритмов. Она будет актуальна для тех, кто только начинает изучать алгоритмы и структуры данных и хочет понять предложенную тему для прохождения собеседования/написания олимпиады, а также статья будет полезна для тех, кто уже знаком с данной темой, но хочет освежить её в памяти.
https://habr.com/ru/articles/944366/
Алгоритмы и Структуры данных
