Всё про Алгоритмы и Структуры данных
Открыть в Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
Больше7 756
Подписчики
-224 часа
-57 дней
-2830 день
Архив постов
Хеш-таблицы в Java: секреты производительности
Посмотрим на проблемы, которые возникают при имплементации хеш-таблицы, когда сложность добавления или удаления из нее не O(1), а линейная, и какие потенциальные атаки можно провести на эту структуру данных (и как их избегают в современных языках программирования на примере Java).
https://proglib.io/p/hesh-tablicy-v-java-sekrety-proizvoditelnosti-2024-03-20
Алгоритмы и Структуры данных
ПОЯВИЛАСЬ БЕСПЛАТНАЯ НЕЙРОСЕТЬ, КОТОРАЯ ЭКОНОМИТ ТВОЕ ВРЕМЯ
AI Open News — это нейросеть, которая читает ваши подписки в Телеграм и скидывает вам дайджесты, в которых коротко пересказываются главные новости.
Это сэкономит десятки часов. Теперь не надо скроллить каналы в поисках классных постов — они придут в личку.
А еще в боте есть удобный поиск и каталог каналов.
ПОПРОБОВАТЬ
Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях
Первоначально алгоритм был предназначен для ориентированных графов с положительными весами рёбер. Ориентированный граф содержит ориентированные рёбра. Пройти по такому ребру можно только в одном направлении. В ip-сетях это требование, на первый взгляд, кажется невыполнимым. Любой интерфейс или порт является дуплексным, т.е. может как принимать, так и отправлять данные, поэтому каждое ребро в реальной сети двунаправленно.
https://habr.com/ru/articles/802519/
Алгоритмы и Структуры данных
Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python
Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признаков внутри классов и поиске их линейного преобразования, которое максимизирует межклассовую дисперсию и минимизирует внутриклассовую. Другими словами, объекты разных классов должны иметь нормальное распределение и располагаться как можно дальше друг от друга, а одного класса — как можно ближе.
https://habr.com/ru/articles/802511/
Алгоритмы и Структуры данных
Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python
Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных вероятностных плотностей вместо одной многомерной.
Помимо теории и реализации с нуля на Python, в данной статье также будет приведён небольшой пример использования наивного Байеса в контексте фильтрации спама со всеми подробными расчётами вручную.
https://habr.com/ru/articles/802435/
Алгоритмы и Структуры данных
Манифест Киберправды
Усиление политической поляризации общества и повсеместное проникновение социальных сетей во все сферы жизни создали идеальные условия для намеренного распространения дезинформации с целью введения в заблуждение, обмана граждан, извлечения финансовой прибыли и получения политической выгоды. Возможности криптографии и анонимного хостинга сайтов, на которых публикуются анонимные или псевдонимные авторы, затрудняют законное преследование таких недостоверных источников за дезинформацию и клевету. В результате фальшивые новости, сфабрикованные документы, информационные мистификации и политическая пропаганда захлестнули социальные медиа и традиционные средства массовой информации. Число репостов фальшивых новостей в Фэйсбуке превысило число перепостов добросовестных сообщений, благодаря тому, что фальшивки больше соответствуют ожиданиям читателей или кажутся им более захватывающими. Умышленное распространение вредоносной лжи способствовало быстрому снижению доверия и терпимости к оппонентам, а также развитию паранойи в онлайн-сообществе.
https://habr.com/ru/articles/802419/
Алгоритмы и Структуры данных
Как составить школьное расписание с помощью IBM CPLEX Solver
Составить расписание всегда былом делом непростым. Доверить эту задачу компьютеру решались не все, потому что задача NP-полная и алгоритмического решения «в лоб» за обозримое время не имеет (объяснение).
Недавно ко мне в руки попал пакет математического решателя IBM CPLEX Solver и я попробовала сделать помощника для составления школьного расписания.
Модель решила сделать целочисленную, еще её называют MIP.
https://habr.com/ru/articles/649445/
Алгоритмы и Структуры данных
🫂 Сегодня всей Москве необходимо объединиться
Для тех, кто хочет как-то поддержать пострадавших, собрали всю актуальную информацию на канале:
— Свободные пункты доноров
— Благотворительные фонды
Распространите эту информацию среди знакомых, возможно, кто-нибудь хочет помочь, но не знает, как!
Берегите себя и близких 🙏
Граф знаний LinkedIn’s Economic Graph и его Star2Vec-эмбеддинги
Здесь я представляю поверхностный обзор статьи, вышедшей в уже далёком (по научным меркам) 2019-м году: "Representation Learning in Heterogeneous Professional Social Networks with Ambiguous Social Connections". Т. к. это лишь поверхностный обзор, от читателя требуются следующие познания:
Skip-gram и его адаптация под графы (word2veс, LINE, DeepWalk);
общие понятия о графах знаний.
В указанной статье частично представлена структура графа LinkedIn’s Economic Graph и относительно подробно описан метод обучения эмбеддингов Star2Vec. К сожалению, исходного кода авторы не предоставили, поэтому в статье есть несколько непонятных моментов (лично для меня), на которые я укажу ниже.
https://habr.com/ru/articles/651283/
Алгоритмы и Структуры данных
Алгоритм генерации столбцов (Column Generation)
Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.
В статье представил теоретическую предпосылку, схему алгоритма и python реализацию подхода. В практической части рассмотрел решение двух задач: задача планирования расписания и задача раскроя.
https://habr.com/ru/articles/800527/
Алгоритмы и Структуры данных
Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python
Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные подходы к созданию SVM, принцип работы, а также реализации с нуля его наиболее популярных разновидностей.
https://habr.com/ru/articles/802185/
Алгоритмы и Структуры данных
Весь опыт Data Science – в одном месте. Data Fusion в четвертый раз соберет DS-экспертов для диалога на кросс-индустриальной площадке. Конференция пройдет 17-18 апреля в Москве.
Регистрация уже открыта: https://cnrlink.com/datafusionstructuredata
Data Fusion 2024 – главное событие весны в области анализа больших данных и технологий ИИ. Это два дня практических кейсов, докладов и дискуссий, 5 треков и более 300 спикеров. Исследованиям и практике посвящен первый день конференции.
Известные ученые и эксперты по Data Science, в числе которых профессор Константин Воронцов, расскажут о трендах в различных направлениях машинного обучения и технологиях ИИ. Доклады охватят широкий круг тем: от развития больших генеративных моделей, NLP, рекомендательных систем, компьютерного зрения до вопросов MLOps и технологий оптимизации.
Желающие еще глубже погрузиться в сферу искусственного интеллекта смогут посетить трек ML+, посвященный использованию машинного обучения на стыке с физикой, медициной и фармакологией и другими науками. Модераторами выступят Максим Шараев, Андрей Иващенко и другие специалисты.
Второй день конференции будет посвящен бизнесу и стратегии. Эксперты расскажут о нестандартных кейсах применения ИИ, получении собственных больших генеративных моделей, развитии беспилотного транспорта, вопросах инфраструктуры и безопасности для ИИ.
В этом году конференция Data Fusion пройдет в Москве. Приглашаем вас 17-18 апреля в технологический кластер «Ломоносов»!
Регистрация здесь: https://cnrlink.com/datafusionstructuredata
Реклама. ООО "ПАО ВТБ". ИНН 7702070139. erid: LjN8KWDnJ
«Кодиеум» — новая отечественная разработка для криптографии будущего
В экспертном сообществе не раз обсуждалась «квантовая угроза». Её суть в том, что стойкость ряда популярных криптографических механизмов базируется на математических задачах, вычислительно сложных для классических компьютеров, но решаемых с помощью квантовых алгоритмов за сравнительно небольшое время. Поэтому разработка квантовых компьютеров создаёт вызовы для криптографии.
https://habr.com/ru/companies/kryptonite/articles/802121/
Алгоритмы и Структуры данных
Метод K-ближайших соседей (KNN). Принцип работы, разновидности и реализация с нуля на Python
К-ближайших соседей (K-Nearest Neighbors или просто KNN) — алгоритм классификации и регрессии, основанный на гипотезе компактности, которая предполагает, что расположенные близко друг к другу объекты в пространстве признаков имеют схожие значения целевой переменной или принадлежат к одному классу.
https://habr.com/ru/articles/801885/
Алгоритмы и Структуры данных
🔥Разыгрываем 5 iPhone 15 Pro Max за подписку на канал
Разбираешься в крипте или нет, шансы у всех одинаковые!
Для участия нужно всего 3 условия:
• подписка на @trade_by_booba
• подписка на @crypto_azam
• нажать «Участвую!» под этим постом
Всё! Победителя случайным образом выберет бот 5 апреля в 18:00. Приз отправляем за свой счет по СНГ (и эквивалент деньгами по миру).
⚠️ Если счетчик завис — не переживайте, бот зарегистрирует ваше участие, если все условия выполнены и нажата кнопка «Участвую!».
Удачи и зеленых PNL!
Proof-of-Union — алгоритм консенсуса в блокчейн системах базируемый на сотрудничестве узлов
В настоящее время существует огромное количество консенсус алгоритмов для блокчейн систем, каждый из которых имеет свои преимущества и недостатки присущие только ему, либо целому классу сходных алгоритмов. Так или иначе, в данное время лидирует две концепции консенсуса - основанные на майнинге (PoW) [1] и форжинге (PoS) [2], которые в свою очередь представляют конкурентную и последовательную модели генерации блоков непосредственно. Такое разделение либо предполагает крайне большое расходование материальных ресурсов, либо представляет собой необходимость комбинации с другими методами консенсуса [3], что приводит к сложности реализации, а следовательно и к проблеме доказуемой безопасности конечного решения [4, с.319]. Альтернативной моделью конкуренции и последовательности может являться алгоритм объединения узлов (PoU), решающий общую задачу сообща и главным преимуществом которого является простота реализации, сродни PoW и быстрота генерации блоков, эквивалентная PoS.
https://habr.com/ru/articles/651187/
Алгоритмы и Структуры данных
Компрессия битового потока
Мы разработали новый математический алгоритм обработки данных и программный продукт на его базе (кодек), позволяющий работать со сжатием битовых потоков любого формата (статические/динамические) – то есть, кодек позволяет проводить более глубокое сжатие уже существующих файлов (видео, изображения, архивы и т.д.), так и осуществлять сжатие исходных «сырых» данных.
Заложенная в алгоритме обработка представляет собой механизм квантования с применением многоцентричной развертки и алфавита изображения. Такой подход кардинально отличается от всех существующих на сегодня вариантов сжатия данных, базирующихся на принципе энтропийного сжатия.
Сжатие данных без потерь с дополнительной компрессией до 50%, является важным преимуществом и обеспечивает потенциальную возможность интеграции продукта практически в любые существующие программные решения. Также разработан алгоритм управления качеством визуализации изображения в зависимости от степени сжатия и конкретных приложений.
https://habr.com/ru/articles/651197/
Алгоритмы и Структуры данных
Станьте Python-разработчиком за 0₽
Зарплата начинающего Python разработчика от 100 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 300 000 рублей.
Получите основы профессии и ключевые навыки за 3 недели практики.
⚠️ Переходите по ссылке и забирайте курс по Python — только до 31 марта: https://go.redav.online/0f7bedf11c9a9560?erid=LdtCK7b7u&m=1
Дерево решений (CART). От теоретических основ до продвинутых техник и реализации с нуля на Python
Дерево решений CART (Classification and Regressoin Tree) — алгоритм классификации и регрессии, основанный на бинарном дереве и являющийся фундаментальным компонентом случайного леса и бустингов, которые входят в число самых мощных алгоритмов машинного обучения на сегодняшний день. Деревья также могут быть не бинарными в зависимости от реализации. К другим популярным реализациям решающего дерева относятся следующие: ID3, C4.5, C5.0.
https://habr.com/ru/articles/801515/
Алгоритмы и Структуры данных
Алгоритм поиска самой длинной подстроки-палиндрома
Задача состоит в том, чтобы найти самую длинную подстроку, которая является палиндромом (читается одинаково слева направо и справа налево, например, "racecar"). Так, самый длинный палиндром в строке "Fractions are never odd or even" это "never odd or even" (регистр букв и пробелы игнорируются). Это также имеет практическое применение в биохимии (ГААТТЦ или ЦТТААГ являются палиндромными последовательностями2). К тому же, эту задачу3 часто дают на собеседовании.
Самый простой и прямой подход (при этом самый медленный) - перебирать с начала все подстроки всех длин и проверять, является ли текущая палиндромом:
https://habr.com/ru/articles/653617/
Алгоритмы и Структуры данных
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
