Всё про Алгоритмы и Структуры данных
前往频道在 Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
显示更多7 761
订阅者
-124 小时
-67 天
-2830 天
帖子存档
Что делать, чтобы правильные вёдра правильно протекали: иерархический Token Bucket для XDP-программ в eBPF
Мне на развитие попала XDP eBPF‑программа, которая защищает DNS‑серверы от выхода из строя под слишком большой нагрузкой (другими словами, от DDoS). На ядре 5.4 алгоритм защиты был основан на EWMA‑статистике с вероятностными дропами, которые постоянно контролировались из Control Plane. Это делало eBPF‑программу неавтономной. К тому же если Control Plane падал, то сервер оставался в состоянии последнего удачного обновления eBPF. Это нужно было исправлять — было решено заменить это всё на Token Bucket. Этот момент и будем считать отправной точкой в нашей истории.
https://habr.com/ru/companies/yandex/articles/844298/
Алгоритмы и Структуры данных
SQL HowTo: Black and White (Puzzle Hunt 2010)
Некоторые головоломки можно решать на SQL just for fun, а часть получается выразить на этом декларативном языке даже эффективнее других, императивных.
Попробовать сделать более наглядное решение, а заодно познакомить с некоторыми нетривиальными возможностями PostgreSQL меня натолкнул пост о решении на Python задачи Black and White.
https://habr.com/ru/companies/tensor/articles/845386/
Алгоритмы и Структуры данных
⚡️ YouTube больше не нужен!
Блогеры переезжают в Telegram, а разработчики из Big Tech не остались в стороне и уже перенесли терабайты платного контента в свои каналы:
📱 Frontend: @frontend
📱 Python: @python
📱 Java: @java
📱 Дизайн: @design
📱 Английский в IT: @english
📱 IT Библиотека: @library
📱 IT Мемы: @memes
Решение головоломки из университетского квеста с помощью Python
Black and White — одна из интересных головоломок игры Puzzle Hunt Мельбурнского Университета 2010 года. По сюжету игры вы преследуете загадочного участника ТВ‑шоу в надежде раскрыть его личность. Вам удается пробраться сначала на студию, а затем и в его гримерку. Там в его одежде вы находите клочок бумаги. Одну из его сторон занимает сообщение, другую — головоломка и набор инструкций к ней.
«Разложите каждую из диаграмм ниже на полоски размером 1×1, 1×2 или 1×3 таким образом, чтобы ни одна сетка не содержала полосок с одинаковым черно‑белым паттерном, включая повороты».
https://habr.com/ru/articles/845196/
Алгоритмы и Структуры данных
Почему вы не используете Битрикс24 CRM с AI-помощником?
1- не знал
2- забыл
Рассказываем и напоминаем!
Битрикс24 CRM с AI помогает увеличивать продажи, работать с постоянными клиентами и сохранять все важные данные. AI-помощник CoPilot внутри сервиса расшифрует телефонные разговоры и автоматически заполнит карточки клиента в CRM.
Битрикс24 можно использовать бесплатно для всех команд, независимо от их размера.
Не тратьте время на рутину.
Узнать больше
#реклама
bitrix24.ru
О рекламодателе
Графы в Swift: Поиск в Глубину и Поиск в Ширину
Добро пожаловать в финальную статью цикла, посвященного структурам данных для iOS‑разработчиков! На протяжении нескольких лет мы подробно рассматривали основные структуры данных, которые помогают эффективно решать задачи программирования и обработки данных. Сегодня мы завершаем этот цикл обзором графов и методов поиска в ширину (BFS) и поиска в глубину (DFS). Эти алгоритмы являются важной частью многих приложений, от поиска кратчайшего пути до анализа связности графов и многих других задач.
https://habr.com/ru/articles/845194/
Алгоритмы и Структуры данных
MIDI → Метр → MIDI
Статья поведёт нас через границу, где сходятся MIDI и метрическое время. В этом путешествии мы откроем брошюру по Международной системе единиц СИ, повстречаем файлы с более чем 6000 изменений темпа, столкнёмся с ошибками округления и напишем немного кода. Звучит заманчиво? Тогда добро пожаловать!
В прошлой статье Конвертация MIDI-времени в такты и доли у нас получилось перевести MIDI-время в привычные для музыки единицы измерения. Пришла пора взяться и за секунды, тем более, что рассматриваемые ниже преобразования куда проще.
https://habr.com/ru/articles/781146/
Алгоритмы и Структуры данных
⚡️ IT-обучение теперь в Telegram!
В cвязи с недавнем замедлением Ютуба — лучшие обучающие каналы переехали в Telegram
Вот каналы для айтишников:
📱 Python: @Python
📱 GitHub: @GitHub
📱 Frontend: @Frontend
🤓 Общее айти: @portalToIT
⚙️ Backend: @Backend
📱 Маркетинг: @Marketing
🖥 Дизайн: @Design
👩💻 С/С++: @Cpp
👩💻 Java: @Java
👩💻 C#: @Csharp
🖥 Базы Данных & SQL: @SQL
👩💻 Golang: @Golang
🖥 PHP: @PHP
👩💻 Моб. разработка: @MobDev
👩💻 Разработка игр: @GameDev
👩💻 DevOps: @DevOps
🖥 Data Science: @DataScience
🤔 Хакинг & ИБ: @InfoSec
🐞 Тестирование: @QA
➡️ Сохраняйте себе, чтобы не потерять
Векторные представления — что это такое, и почему в них важно разбираться
Векторные представления (эмбеддинги, векторы) — это по‑настоящему приятный инструмент, но в любом рассказе о векторных представлениях эта техника скрыта за ворохом каких‑то страшных словес.
Если вам удастся продраться через эти словеса, то вы откроете для себя мощные и интересные приёмы, применимые для решения всевозможных интересных задач.
Я выступал с лекцией о векторных представлениях на конференции PyBay 2023. Эта статья — улучшенная версия той самой лекции, и она должна быть интересна сама по себе, даже если не смотреть видео.
Если вы пока не знакомы с эмбеддингами, то, полагаю, в этой статье вы найдёте всю необходимую информацию, которая позволит вам приступить к их использованию при решении реалистичных задач.
https://habr.com/ru/articles/781408/
Алгоритмы и Структуры данных
FizzBuzz for Senior
Парень из статьи с++ оч круто оптимизировал решение. И мне стало интересно, а как эти решения ведут себя на Java.
Перед тем как перейти к алгоритмам нужно понять, как мы будем мерить скорость. Если погуглить то первые ссылки скажут использовать System.out.println и трэкать так время. Но это не до конца верный вариант. Вы же знаете об оптимизаторе в Java? Может получиться так, что оптимизатор переставит эти строки и ваши замеры будут неверными.
Поэтому этот вариант мы отбрасываем. Я решил использовать бенч марки. Настроить их мне прекрасно помогла эта статья - https://www.baeldung.com/java-microbenchmark-harness. Я не претендую на то, что это сто процентно верное решение и если я делал что то не так дайте мне знать пожалуйста.
https://habr.com/ru/articles/781256/
Алгоритмы и Структуры данных
Как устроен PassMark. Воспроизводим тесты из машинного кода
На сегодняшний день существуют сотни программ для оценки производительности вычислительных устройств, но абсолютным лидером среди них несомненно является PassMark - "Industry standard benchmarking since 1998", - как его позиционирует сам разработчик, и вдобавок предоставляющего обширную публичную базу оценок производительности разнообразных устройств по всему миру для возможности их сравнения между собой. Все это делает PassMark выбором №1 для всех, кто не только желает оценить производительность своего устройства, но и сравнить его с любым другим устройством в мире.
Но что находится под капотом у легендарной программы для бенчмаркинга? В этой статье мы изучим ее алгоритмы тестирования и воспроизведем их самостоятельно на других языках программирования, чтобы иметь независимую возможность получения оценки производительности.
Эта статья и ей подобные исследования сначала публикуются на моем сайте bekhan.org. Узнать первыми о публикациях можно в моих сообществах.
https://habr.com/ru/articles/768618/
Алгоритмы и Структуры данных
+9
Помощь в трудоустройстве в IT-сфере!
В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно!
Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита.
Для этого нужно:
- Перейти по ссылке
- Заполнить анкету и ответить на вопросы (занимает менее 3 минут)
- На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать
Перейти на сайт
#реклама 16+
urban-university.ru
О рекламодателе
Как применять метод PCA для уменьшения размерности данных
Одной из ключевых задач при работе с данными является уменьшение размерности данных, чтобы улучшить их интерпретируемость, ускорить алгоритмы обучения машин и, в конечном итоге, повысить качество решений. Сегодня мы поговорим о методе, который считается одним из наиболее мощных инструментов в арсенале данных разработчиков — методе главных компонент, или PCA (Principal Component Analysis).
PCA — это статистический метод, который позволяет сократить размерность данных, сохраняя при этом наибольшее количество информации. Он основан на линейной алгебре и математической статистике, и представляет собой мощный инструмент для анализа многомерных данных. Главная идея PCA заключается в том, чтобы найти новые признаки, называемые главными компонентами, которые максимально коррелируют с исходными данными.
На практике, PCA может использоваться для различных целей, включая снижение размерности для визуализации данных, удаление шума из данных, улучшение производительности моделей машинного обучения и многое другое.
https://habr.com/ru/companies/otus/articles/769274/
Алгоритмы и Структуры данных
+9
Помощь в трудоустройстве в IT-сфере!
В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно!
Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита.
Для этого нужно:
- Перейти по ссылке
- Заполнить анкету и ответить на вопросы (занимает менее 3 минут)
- На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать
Перейти на сайт
#реклама 16+
urban-university.ru
О рекламодателе
Bitcoin — умер. Вся крипта в моменте покатилась на дно.
Такие новости уже 10 лет ждут те, кому лень разбираться в крипте и надоело наблюдать, как на ней богатеют даже школьники
Но годы идут, а крипта только набирает обороты. И если вы устали смотреть, как люди колотят на ней целое состояние — начните разбираться в теме вместе с каналом Адила Жигерова
Это один из немногих фанатов крипты, который на понятном языке объясняет, откуда в ней деньги и с чего начать новичку без гроша в кармане
Внутри: бесплатный гайд по заработку первых 100к на криптовалюте, словарь терминов для новичка, мануал по поиску проектов с потенциалом взлёта х10-15 и многое другое
Подписывайтесь и кликайте на закреп — там всё нужное для старта: @adil_crytpo
Улучшаем навигацию роботов с помощью нейронного потенциального поля
Чтобы мобильный робот мог перемещаться автономно, он должен уметь планировать траекторию своего движения. Часто такое планирование делается в два этапа.
На первом этапе (глобальное планирование) нужно соединить начало и конец требуемого перемещения линией, так, чтобы эта линия не задевала препятствий. Линия чаще всего бывает ломаной, в терминологии планирования она называется геометрическим путем. Реальный робот обычно не может ехать по ломаной линии, у него есть ограничения на радиус поворота колес и, следовательно, на кривизну траектории.
Поэтому нужен второй этап (локальное планирование), на котором делается сглаживание или оптимизация траектории. На этом этапе траектория движения определяется с учетом всех кинодинамических ограничений. Часто оптимизация траектории делается по мере движения: робот движется вдоль геометрического пути и ближайшие участок этого пути оптимизируются с учетом самых актуальных данных о препятствиях.
https://habr.com/ru/companies/airi/articles/844682/
Алгоритмы и Структуры данных
9 алгоритмов сортировки и поиска для JS, о которых вас спросят на собеседовании
Даже если ты frontend-разработчик и решаешь прикладные задачи, тебе в любом случае придётся знать алгоритмы хотя бы на базовом уровне. Но статей на русском с объяснением алгоритмов и тем, как их реализовать на JavaScript, крайне мало. Поэтому хочу поделиться некоторыми алгоритмами сортировки и поиска, и немного рассказать про структуры данных. Знание алгоритмов и структур данных поможет вам в оптимизации приложений.
Статья будет полезна разработчикам любых направлений, которые начали свой путь к крепкому уровню middle.
https://habr.com/ru/companies/simbirsoft/articles/769312/
Алгоритмы и Структуры данных
IT аутсорсинг в СПб! Обслуживание серверов и оргтехники!
АйТи аутсорсинг в СПб! Сертифицированные специалисты! Опытная команда IT специалистов!
Сертификаты Microsoft! CISCO Mikrotik! 12 лет на рынке!
Перейти на сайт
#реклама
svcnet.ru
О рекламодателе
Процедурная генерация укрытий в играх
В игровых мирах сражения, взаимодействия НПС и стратегические маневры приводят к необходимости поиска точек защиты или точек укрытия (cover). В этой статье я рассмотрю один из аспектов игровой механики – создание такой системы на основе анализа окружения, которые позволяют игрокам и AI эффективно и эффектно сражаться в разных игровых сценариях и делают игровой опыт более динамичным. Посмотрим на особенности, которые влияют на алгоритм генерации и реализацию в движке 4A Engine.
https://habr.com/ru/articles/769696/
Алгоритмы и Структуры данных
Как специалисту экономить 67% рабочего времени?
СПС КонсультантПлюс поможет Вам, в среднем, сократить время для выполнения рабочих задач на 67%, предоставляя проверенную информацию, доступ к экспертным консультациям, а также набор полезных сервисов и шаблонов.
Подключая систему у нас, Вы не только получаете доступ к справочно-правовой системе КонсультантПлюс, но и ко множеству дополнительных сервисов, которые значительно облегчат вашу работу!
Оставьте заявку на расчёт стоимости комплекта сейчас и получите ТЕСТ-ДРАЙВ новой версии 2024 года под свои задачи на 2 дня!
Получить предложение
#реклама 16+
consplus-msk.ru
О рекламодателе
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
