Всё про Алгоритмы и Структуры данных
7.76K subscribers
345 photos
38 videos
5 files
3.17K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Внутреннее устройство sync.Map, сравнение производительности с map + RWMutex

Эта статья для тех, кто хочет понять, когда стоит использовать sync.Map, а когда достаточно обычной map с мьютексом.

В Каруне этот вопрос иногда возникал на код ревью, поэтому такая статья мне показалась полезной. TLDR: sync.Map лучше работает на задачах, где много операций чтения, и ключи достаточно стабильны.

https://habr.com/ru/companies/karuna/articles/834400/

Алгоритмы и Структуры данных | ChatGPT
Простая красота XOR-сжатия чисел с плавающей запятой

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

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

https://habr.com/ru/companies/sportmaster_lab/articles/834840/

Алгоритмы и Структуры данных | ChatGPT
Улучшаем BARSiC: как мы проверяли и совершенствовали алгоритм консенсуса в кластере

В команде ВКонтакте существует система управления репликацией и консенсусом в кластере, которая называется BARSiC (Binary Asynchronous Replication with Simple Consensus). Прежде всего она контролирует состав кластера, определяя, кто реплика, а кто — мастер. А при выходе мастера из строя реплики выбирают нового с непротиворечивой линейной историей.

Для решения этой задачи команда ВКонтакте совместно с университетом ИТМО работали над научно-исследовательским проектом «Разработка моделей для верификации распределенных алгоритмов в системе BARSiC». В этой статье подробно расскажем о том, как мы в рамках проекта верифицировали выбранный для BARSiC алгоритм, и попутно исправили найденную в нём ошибку.

https://habr.com/ru/companies/vk/articles/753736/

Алгоритмы и Структуры данных | ChatGPT
Обработка больших и очень больших графов: Pregel

Статья является продолжением предыдущей статьи в рамках цикла статей, посвященных обработке больших и очень больших графов. В статье реализованы распределенные версии четырех классических алгоритмов: "Связные компоненты", "Кратчайшее расстояние", "Топологическая сортировка" и PageRank на Apache Spark DataFrame API. Алгоритмы составлены в соответствии с идеями популярного фреймворка распределенной обработки графов Pregel.

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

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

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

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

Алгоритмы и Структуры данных | ChatGPT
Эти прекрасные древовидные карты (альтернатива pprint)

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

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

Такие карты задействуют для представления данных все доступные пиксели. Как правило, чем больше пикселей, тем более чётким получается представление. Тем не менее древовидная карта отлично подходит и для относительно небольших размеров.

https://habr.com/ru/companies/ruvds/articles/753530/

Алгоритмы и Структуры данных | ChatGPT
Определение области коллизии

В процессе разработки своего собственного 3D движка в определённый момент я наткнулся на следующую проблему: как можно вычислить точки контакта между двумя объектами для правильного расчёта центра приложенных сил.

Ожидая получить ответ на свой вопрос в интернете я начал искать его. Однако, что меня удивило, нет ни одного внятного объяснения решения данной проблемы. В лучшем случае вы найдёте небольшой комментарий с кратким описанием того, что должны сделать.

Дабы закрыть эту проблему я решил написать собственную статью о нахождении точек контакта и помочь будущим поколениям.

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

Алгоритмы и Структуры данных | ChatGPT
Симметрии СМ-модели, идемпотенты. Часть V

Продолжаем
знакомство с моделью числа и ее свойствами, а конкретно, с симметриями, которое этой публикацией завершается. Симметрии излагались на разном уровне представления модели: областей строк, отдельных строк, элементов одной строки и элементов разных строк. Для читателей, ознакомившимися с моими предыдущими
статьей 1(О разложении модели числа), статьей 2 (О симметриях...) и др. предлагается продолжить знакомство с проблемой моделирования и исследования чисел.

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

Алгоритмы и Структуры данных | ChatGPT
Железный Асессор, ML-оценка манеры вождения и безопасный диспатч: как технологии делают такси безопаснее

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

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

Алгоритмы и Структуры данных | ChatGPT
Как правильно дифференцировать дискретные функции (Часть 1. Тестируем и улучшаем Numpy)

Предлагаемая публикация посвящена простейшим методам численного дифференцирования. Как ни странно, тут возникают кое-какие вопросы и проблемы. Если тема будет для кого‑то интересной и полезной, в последующих публикациях будут рассмотрены более сложные вопросы и «продвинутые» расчетные алгоритмы. Поработаем с ОДУ (обыкновенными дифференциальными уравнениями, и, возможно, дойдем до нашего Вильяма Шекспира решения краевых задач УРЧП (уравнений в частных производных), в том числе нелинейных по краевым условиям и на адаптивных сетках

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

Алгоритмы и Структуры данных | ChatGPT
Бинарные деревья — решение алгоритмических задач, часть 1

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

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

Алгоритмы и Структуры данных | ChatGPT
Buran Motion Planning Framework

В данной статье сделан обзор на OpenSource фреймворк планирования движения BMPF.

На данный момент подавляющее большинство средств планирования движения работает по одному и тому же принципу: вся сцена описывается как один робот, после чего выполняется планирование на сетке (чаще всего A*, подробнее можно прочитать здесь).

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

Алгоритмы и Структуры данных | ChatGPT
👍1
Что такое формальная верификация

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

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

Алгоритмы и Структуры данных | ChatGPT
🔥1
Квантовые компьютеры. С точки зрения традиционного программиста-математика. Часть 2

В прошлой части мы рассмотрели базовые понятия в квантовых вычислениях: кубиты, вероятности состояний, измерения.

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

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

Алгоритмы и Структуры данных | ChatGPT
Вирт, Кормен и диалекты Basic: что изучить про алгоритмы и структуры данных разработчикам на С++

Попросили инженеров YADRO поделиться избранными материалами про алгоритмы и структуры данных для «плюсовиков». Вспомнили и «классику» вроде книги Никлауса Вирта, и более современные источники, а также рассказали, почему стоит посвятить им время.

Статьи, лекции и курсы из подборки помогут опытным специалистам «вспомнить все» перед собеседованием или погрузиться в тему алгоритмов, если вы пока в ней не сильны.

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

Алгоритмы и Структуры данных | ChatGPT
You Only Look Once… But it Sees Everything! Обзор YOLO детекторов. Часть 1

Эта статья — первая часть обзора, посвященного семейству одностадийных детекторов YOLO со своей большой и интересной историей длиной в 9 лет. Мы рассмотрим основные концепции, которые заложили основу для последующих достижений, а также затронем улучшения, внесённые в каждую версию, начиная с YOLOv2 и заканчивая YOLOv9.

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

Алгоритмы и Структуры данных | ChatGPT
Книга: «Алгоритмы и структуры данных на Python»

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

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

https://habr.com/ru/companies/piter/articles/836280/

Алгоритмы и Структуры данных | ChatGPT
Феномен Рунге

Карл Давид Тольме Рунге (30 августа 1856 - 3 января 1927) - выдающийся немецкий математик, физик и спектроскопист. Обучался в Берлинском университете, где получил степень PhD, являлся профессором математики в Ганноверском университете, а также главой кафедры прикладной математики в Гёттингене. [1]

в 1901 году Карл открыл "Феномен Рунге" - в численном анализе эффект нежелательных колебаний, возникающий при интерполяции полиномами высоких степеней - о котором пойдёт речь в данной статье. [2]

Но прежде, чем мы окунёмся глубже в изучение данного феномена, давайте поговорим об интерполяционном многочлене Лагранжа, на примере которого мы и разберём Феномен Рунге.

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

Алгоритмы и Структуры данных | ChatGPT
👍1🔥1