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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Как скопировать дерево, но не точь-в-точь

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

https://habr.com/ru/companies/pvs-studio/articles/967530/

Алгоритмы и Структуры данных
👍1
Ликбез о плавающей точке: сложение, катастрофическое сокращение и бабушка Кэхена

Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat. Библиотека написана на C++ и намеренно избегает встроенных типов плавающей запятой, полагаясь исключительно на 32-битные целые числа. Цель состоит в том, чтобы сделать код максимально читабельным — без бит-хаков и хитроумных уловок.

Кроме того, я хочу иметь подробную документацию о том, что происходит «под капотом». Оказалось, что лучший способ документировать код C++ — это полностью переписать его на Python :)

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

Алгоритмы и Структуры данных
1
Как мы создаём HD-карты для автономного транспорта: устройство map-editor

В этой статье мы разберём, как устроен один из ключевых инструментов — map‑editor, обеспечивающий создание и развитие HD‑карт для роботов, какие технические вызовы встречаются по пути и как мы с ними справляемся. Среди наших технологий — FastAPI и C++ для серверной логики, PostgreSQL с PostGIS для работы с геометрией, интеграция с облачными хранилищами и распределёнными вычислениями, а также элементы автоматизации на базе ML.

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

Алгоритмы и Структуры данных
👍1
Как ускорить бинарный поиск

Приветствую, сообщество Habr. Я решил рассказать о том, как ускорить обычный бинаный поиск в сотни раз и искать данные в обычном текстовом файле БЫСТРЕЕ, чем при использовании класических баз данных. Сейчас я попробую решить задачу бинарного поиска без них, расскажу об основных способах оптимизации, а в конце проведу сравнение. Это вполне реальная задача, с которой я столкнутся при разработке собственного проекта, а поэтому мне есть что вам рассказать.

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

Алгоритмы и Структуры данных
🤯1
Книга: «Алгоритмы машинного обучения»

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

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

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

Алгоритмы и Структуры данных
👍1
Многие BI-системы перестали работать в России, некоторые компании ищут аналоги, а некоторые создают свои решения. Это дольше и сложнее, но дает большую продуктивность в перспективе.

Команда Далее разработала собственное BI-решение для внутренней аналитической платформы, чтобы управлять данными в реальном времени и видеть полную картину бизнеса.

Fullstack-тимлид Дмитрий Дин рассказывает:-
зачем крупным компаниям стоит рассматривать собственную BI-систему,
- как архитектура влияет на масштабируемость и прозрачность процессов в компании,
- и почему правильный подход к сигналам ускоряет принятие решений.

Читайте статью на Хабре — там подробнее о подходе и ссылка на демо ReGraph.

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

#реклама
О рекламодателе
🤯1
Поведенческие шаблонов в проектировании: 23 шаблона назначение, структура, примеры использования

В трех частях статьи мы последовательно рассмотрим 23 шаблона проектирования, которые впервые были перечислены в книге «Шаблоны проектирования: элементы объектно-ориентированного программного обеспечения». Описание каждого шаблона включает структуру, объяснение, рекомендации по использованию и пример практического применения. Первая часть посвящена поведенческим шаблонам, вторая – структурным, а третья – порождающим.

https://proglib.io/p/povedencheskie-shablony-proektirovaniya-naznachenie-struktura-primery-ispolzovaniya-2022-02-22

Алгоритмы и Структуры данных
🤯1
Ускоряем приложение: никаких фреймворков — только математика

Представьте, что вам нужно ускорить работу огромной легаси-системы с 50 микросервисами, нагрузка на которую выросла в 2000 раз. При этом она обрабатывает затратные по времени операции, которые зависят друг от друга в плане данных.

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

https://habr.com/ru/companies/oleg-bunin/articles/732712/

Алгоритмы и Структуры данных
🤯1
Как фильтры Блума в 16 раз ускорили API

Этот пост станет глубоким разбором того, как мы снизили задержки P95 конечной точки API с 5 до 0,3 секунды при помощи нишевого трюка computer science под названием «фильтр Блума».

Мы расскажем о том, почему конечная точка была медленной, о решениях, которые мы рассматривали для повышения её скорости, и о критериях выбора между ними. Также мы объясним, как всё это устроено внутри.

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

Алгоритмы и Структуры данных
👍1
Конвейеры формирования изображений. Часть 1: Регистрация света и дебайеринг

Я, Егор Ершов, руководитель группы «Цветовая вычислительная фотография» в AIRI и заведующий сектором репродукции и синтеза цвета ИППИ РАН, продолжаю выкладывать статьи по мотивам своих лекций по вычислительной фотографии. Наша глобальная задача, напомню, разобраться, как сделать так, чтобы камера сотового телефона достаточно хорошо смогла уловить цвета, а монитор или принтер — их передать.

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

https://habr.com/ru/companies/airi/articles/968126/

Алгоритмы и Структуры данных
1
SQL HowTo: крупицы золота в реестре

В большинстве учетных систем, типа нашего СБИС, рано или поздно возникает проблема быстрого отображения реестра, в который по просьбам бизнес‑пользователей накручено несколько комбинируемых фильтров с очень редкой выборкой, ну никак не ложащихся в вашу красивую структуру базы данных и индексов базовой таблицы реестра — что‑нибудь типа "список продаж покупателям, чей день рождения выпадает на 29 февраля".

Универсального способа сделать «хорошо» тут нет, но я расскажу про модель запроса, которая позволит вам дать пользователю быстрый отклик, но при этом весьма эффективно с точки зрения PostgreSQL.

https://habr.com/ru/companies/tensor/articles/718092/

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

Для начала уточню: граф Монте‑Кристо и прочие персонажи тут ни при чём. Речь пойдёт о математических графах — структуре, которая помогает решать массу задач в программировании, математике и олимпиадной информатике.

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

Впервые я встретил графы примерно в четвёртом классе, но начал активно использовать, только когда начал заниматься олимпиадным программированием.

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

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

Для начала уточню: граф Монте‑Кристо и прочие персонажи тут ни при чём. Речь пойдёт о математических графах — структуре, которая помогает решать массу задач в программировании, математике и олимпиадной информатике.

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

Впервые я встретил графы примерно в четвёртом классе, но начал активно использовать, только когда начал заниматься олимпиадным программированием.

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

Алгоритмы и Структуры данных
1
Искусство выжить. Простое руководство для настоящих программистов

Задача Эдсгера Дейкстры о философах – великая задача великого программиста. Уж сколько лет, а она актуальна. Решая ее, прикасаешься к этому величию. И вот, перефразируя известное, «давно не было такого и вот опять», можно познакомиться с ее «новым прочтением» на Хабре[1].

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

Познакомился с проблемой обедающих философов – Dinning Philosopher Problem (DPP), я более двадцати лет тому назад (про DPP см. [2]). Результатом стала статья, в которой философы выполняли поставленную задачу, как минимум, не хуже, чем классические алгоритмы сортировок[3]. Позднее был сделан доклад на конференции по параллельным вычислениям в Саратове, где на суд научной общественности была предъявлена модель автоматных параллельных вычислений и пример ее приложения - задача Дейкстры[4].

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

Алгоритмы и Структуры данных
🤯1
36 китайских стратагем. Перепрошиваю культурный код. Стратегия лисы. Часть 1

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

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

Алгоритмы и Структуры данных
3
Что происходит с удалёнными файлами: разбираем алгоритм TRIM и его нюансы

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

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

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

Алгоритмы и Структуры данных
👍1
10 удивительно зрелищных простейших клеточных автоматов

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

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

Алгоритмы и Структуры данных
👍1
10 структур данных, которые вы должны знать (+видео и задания)

Структуры данных являются важной частью разработки программного обеспечения и одной из наиболее распространенных тем для вопросов на собеседованиях с разработчиками.
Хорошая новость в том, что они в основном являются просто специализированными форматами для организации и хранения данных.
Из этой статьи вы узнаете о 10 наиболее распространенных структурах данных. Также сюда добавлены видеоролики (на английском языке) по каждой из структур, и код их реализации на JS. А чтобы вы немного попрактиковались, я добавил сюда задачи из бесплатной учебной программы freeCodeCamp.

https://proglib.io/p/data-structures

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

Автор исходит из того, что читатель уже знаком с базовой теорией графов и уверенно владеет C++.

В этой статье я кратко и понятно расскажу про основные и самые распространённые алгоритмы используемые при работе с графами:

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

Алгоритмы и Структуры данных
Боты ищут путь: почему NPC за рулем машин в GTA такие неадекватные

Обожаю игры серии GTA (все, кроме четвертой части). Я бы даже сказал, что многое в них прекрасно: разнообразие сюжетных миссий, выбор транспорта, классные диалоги, тонкая ирония, саркастичный юмор, высмеивание проблем общества, свобода действий, возможность устроить локальный апокалипсис. Однако все это портит поведение ботов-водителей, которые словно намеренно бросаются наперерез игроку, чтобы усложнить ему жизнь. Но так ли это? Действительно ли поведение NPC на дорогах GTA заскриптовано так, чтобы мешать геймерам? Прошу под кат — в поисках правды будем подглядывать за ботами и залезать туда, куда Рокстары не хотят нас пускать.

https://habr.com/ru/companies/selectel/articles/969586/

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