Всё про Алгоритмы и Структуры данных – Telegram
Всё про Алгоритмы и Структуры данных
7.93K subscribers
328 photos
36 videos
5 files
2.8K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

Сотрудничество, авторские права: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Жадные алгоритмы: все, что нужно знать для собеседования

Жадные алгоритмы позволяют эффективно решать определенный спектр оптимизационных задач. Однако их применение требует тщательного анализа задачи и структуры обрабатываемых данных, так как жадный подход не всегда гарантирует оптимальное решение. В этой статье мы рассмотрим основные принципы работы жадных алгоритмов, их преимущества и недостатки, а также разберем несколько практических примеров их применения.

https://proglib.io/p/zhadnye-algoritmy-vse-chto-nuzhno-znat-dlya-sobesedovaniya-2024-07-08

Алгоритмы и Структуры данных
Градиенты в нейронных сетях для поиска аномалий в данных

В основе машинного обучения лежит предположение, что данные для обучения, тестирования и применения взяты из одного и того же распределения. К сожалению, в процессе применения модели это предположение может нарушаться, что приводит к необъяснимым последствиям — сдвигу распределения. Особенно такие нарушения опасны в областях, где требуется быстро и точно принимать решения: медицина, финансы, self-driving cars.

Системы машинного обучения часто просто игнорируют сдвиги распределения и продолжают работать в штатном режиме, не представляя, что ответы на запросы могут быть невалидными. Чтобы сделать работу системы более точной и понять причину происхождения некорректных данных, можно отлавливать такие нарушения — нужно только добавить возможность поиска аномалий.

https://habr.com/ru/companies/hsespb/articles/646219/

Алгоритмы и Структуры данных
Оптимизация генплана. Какая математика под капотом?

При любых строительных работах генеральный план является обязательной частью проекта. Готовый генплан предоставляет подробную информацию об объемах работ, объектах строительства, транспортных сообщениях и инженерных коммуникациях разного назначения.

Именно от точности и качества генерального плана зависит безопасность и надежность всего проекта, его функциональность, а их оптимальное проектирование позволяет снизить финансовые и временные затраты уже на самом старте реализации проекта. Очевидно, что при решении подобной задачи хочется максимально автоматизировать оптимальное проектирование генеральных планов и застраховаться от любых ошибок, связанных с человеческим фактором.

https://habr.com/ru/companies/numdes/articles/599971/

Алгоритмы и Структуры данных
Не одним CRDT едины или P2P vs Authoritative в local-first приложениях

Сегодня поговорим про реализации решения конфликтов в local / offline-first – это когда ваше приложение позволяет пользователям работать полностью или частично оффлайн, а когда они выходят в сеть, синхронизировать все их изменения.

Примеры таких приложений: Notion-like редакторы, Figma-like вайтборды или Linear-like таск менеджеры.

Основная идея – коллаборация, а коллаборация несет за собой конфликты, разберем очень наглядный пример:

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

Алгоритмы и Структуры данных
Мой опыт собеседования в Amazon
Это
история о моем опыте собеседования в Амазоне, почему мне в целом не понравилось по сравнению с другими FAANG. Так же тут будут ответы на “а что конкретно спрашивали на интервью, какие были задачки, что на систем дизайне было”, потому что мне не дали подписать NDA, все с пруфами, скринами и прочее.

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

Алгоритмы и Структуры данных
Запуск Computer Science Space

Приветствуем любителей компьютерных наук! Хотим рассказать про новую инициативу: 1 марта в Санкт-Петербурге запустился Computer Science Space — открытый научно-технологический клуб для всех заинтересованных в современных и классических областях CS.

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

Алгоритмы и Структуры данных
Прокачиваем RAG: тестируем техники и считаем их эффективность. Часть 1

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

К счастью, на GitHub есть прекрасный репозиторий, где автор собрал популярные RAG-техники с кодом и объяснениями. Репозиторий доступен по ссылке. Обязательно зайдите и поддержите автора.

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

Алгоритмы и Структуры данных
Объяснение замощения мозаикой Пенроуза

Всем привет! Привожу перевод статьи Penrose Tiling Explained. Мне самому было интересно как устроен алгоритм прорисовки мозаики. Удивился простоте и хочу поделиться.. Помимо почти не исправленного машинного перевода добавил свой перевод предложенного алгоритма на язык TypeScript. Привожу ссылку на песочницу в конце статьи. Версия TypeScript дополнена интерактивной формой изменения параметров алгоритма. Играя с параметрами, можно понять большую часть алгоритма даже без чтения разъяснения.

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

Алгоритмы и Структуры данных
Кольца Барромео и один забавный алгоритмический баг

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

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

Алгоритмы и Структуры данных
Создание интерактивного макета. Задача упаковки кругов в круг. Метод отжига

Я начала разработку интерактивного интерфейса для своего проекта «Florist». Центральным элементом сайта должен был стать интерактивный макет — с его помощью пользователь мог бы визуализировать различные цветочные дизайны, располагая в ячейках макета цветы из каталога. Я создала прототип, внедрила его в сайт и доработала окончательный дизайн до такой картинки:

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

Алгоритмы и Структуры данных
Оцениваем «естественность» изображений по первой цифре

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

В этой статье мы не предложим вам волшебную таблетку для детекции фейковых картинок. Это интеллектуальный эксперимент. Возьмем известный математический закон — закон Бенфорда — и попробуем применить его для анализа изображений. Мы реализуем этот метод на чистом JavaScript, чтобы любой желающий мог поэкспериментировать в собственном браузере, и обсудим результаты, философские вопросы и технические подводные камни, которые ждут нас на этом пути.

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

Алгоритмы и Структуры данных
Формула Бине без плавающей точки

Красивая формула Бине для чисел Фибоначчи содержит иррациональность - квадратный корень из пяти. Это делает ее непригодной для точного вычисления больших чисел Фибоначчи. Это кажется вполне очевидным. Предлагаю способ, как избавиться от зловредного корня и сделать формулу Бине пригодной для точных вычислений.

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

Алгоритмы и Структуры данных
Оптимизация функций компьютерного зрения (библиотека OpenCV) для RISC-V

OpenCV — популярная библиотека, включающая множество алгоритмов компьютерного зрения и функций для них. Оптимизация их под RISC-V — большая и интересная задача, которой в рамках Зимней школы RISC-V YADRO сезона 2024–2025 занимались студенты Университета Лобачевского (ННГУ). В этой статье они подробно расскажут о своей работе.

https://habr.com/ru/companies/yadro/articles/947786/

Алгоритмы и Структуры данных
Реализация алгоритма Укконена на Python

Суффиксное дерево Укконена – один из тех коварных алгоритмов, которые выглядят просто и понятно в теории, но представляют определенные сложности для реализации. Разбираемся, как превратить алгоритм в рабочий код для построения и визуализации дерева.

https://proglib.io/p/realizaciya-algoritma-ukkonena-na-python-2024-05-20

Алгоритмы и Структуры данных
Как дорожные знаки попадают на карты Яндекса: применяем ML в картографии

Важное свойство любых карт — их актуальность. Чтобы Яндекс Карты максимально точно отражали дорожную обстановку, мы постоянно мониторим изменения в реальном мире. Один из факторов, который необходимо отслеживать, — это установка или демонтаж знаков дорожного движения.

Меня зовут Владимир Быстрицкий, я работаю в группе AI-картографирования. В этой статье расскажу о процессе детектирования дорожных знаков в картопроизводстве Яндекса: с чего всё началось, как развивалось, какие технологии использовались. Ну и попробую ответить на самый, на мой взгляд, главный вопрос в любой ML-задаче: как собрать датасет и не разориться?

https://habr.com/ru/companies/yandex/articles/946338/

Алгоритмы и Структуры данных
Санпросвет о плавающей точке, статья первая: компьютеры и числа

Недавно мне понадобилось сэмулировать работу с плавающей точкой только при помощи целочисленной арифметики, поскольку флоаты были недоступны. Полез я было в интернет за готовой библиотекой, и чуть не утонул. Мало того, что я не нашёл того, что искал, это бог с ним. Я обнаружил, что в интернете кто-то неправ. :)

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

Алгоритмы и Структуры данных
Как онтология помогает представить структуру данных и семантику приложения

В больших проектах, которые объединяют множество компонентов, нередко возникают проблемы унификации подходов и понимания связей между всеми сервисами. В результате долгое время у ИТ-команд существовал запрос на новую модель описания структуры данных и семантики приложения. Она появилась благодаря адаптации онтологии под нужны ИТ.

Меня зовут Алексей Гуляев. Я архитектор решений в команде VK Tech. В этой статье я расскажу об онтологии в ИТ, вариантах ее использования и нашем кейсе применения онтологического подхода для решения внутренней задачи.

https://habr.com/ru/companies/vktech/articles/948492/

Алгоритмы и Структуры данных
Адаптивное свойство одной строкой

Задача. Описать изменение значения CSS-свойства как функцию от ширины вьюпорта без использования медиа-запросов. Результатом работы миксина должна быть единственная строка вида <свойство>: <функция от ширины вьюпорта >. В качестве входных данных имеются заданные (табулированные) точки (ширина вьюпорта, значение свойства). Поведение CSS-свойства от точки к точке аппроксимируется прямой линией.

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

Алгоритмы и Структуры данных
Структурированное программирование

В начале 80-х годов XX века, в недрах проблемной лаборатории электронных вычислительных машин Московского государственного университета им. М.В.Ломоносова началась работа над необычным, по нынешним меркам, языком, а вернее системы, или даже сказать идеологии программирования.

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

Алгоритмы и Структуры данных