Всё про Алгоритмы и Структуры данных
رفتن به کانال در Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
نمایش بیشتر7 767
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-87 روز
-4430 روز
آرشیو پست ها
Эдсгер Дейкстра. Человек, который придумал параллельные вычисления
Д-р наук, профессор Эдсгер Дейкстра (Edsger W. Dijkstra, 1930−2002) — легендарный голландский и американский учёный, труды которого заложили фундамент современного программирования. Среди всех учёных прошлого Дейкстра оказал самое большое влияние на современную информатику. Он один из разработчиков концепции структурного программирования, формальной верификации, распределённых вычислений, построения компиляторов, графовых алгоритмов, дизайна алгоритмов, дизайна ПО, дизайна математических аргументов, языков программирования и операционных систем.
Некоторые статьи Дейкстры всего лишь на несколько страниц становились источником целых новых исследовательских направлений. Ряд современных концепций были впервые выявлены Дейкстрой и носят придуманные им названия. Например, параллельные вычисления.
https://habr.com/ru/companies/ruvds/articles/1027578/
Алгоритмы и Структуры данных
Buffer Pool и Clock-sweep: как мы боремся с cache pollution и p99 latency
Один аналитик с одним
SELECT count(*) FROM orders способен серьёзно ухудшить p99 latency всего OLTP-трафика. Пока скан читает таблицу страница за страницей, Buffer Pool заполняется «холодными» данными, горячие OLTP-страницы вытесняются, и после окончания скана приложение тянет данные с диска вместо кэша — ровно до тех пор, пока hot working set не прогреется заново. Это классический cache pollution, и с ним рано или поздно сталкивается любая СУБД с честным LRU.
В предыдущей статье мы разобрали API-контракты между слоями OLTP-ядра, USDT/eBPF-наблюдаемость и Adaptive Tuning. Сейчас — разбор Buffer Pool: почему Clock-sweep лучше LRU для конкурентной среды, как BufferRing изолирует сканы от горячего рабочего набора, и почему no-steal это не выбор стиля, а вопрос корректности recovery.
Здесь описана текущая реализация: что работает в коде, какие компромиссы зафиксированы как MVP, где что-то не готово — скажем прямо. За рамками статьи намеренно остаются sharded buffer pool, алгоритмы GCLOCK / CLOCK-Pro / ARC, полный Resource Broker с динамическим перераспределением памяти и bulk write маршрут — это отдельные задачи, у каждой свой дизайн-документ.
https://habr.com/ru/articles/1030822/
Алгоритмы и Структуры данных«Эстафета хвоста» — алгоритм итеративного обхода дерева со стеком, и почему это — Green Computing
Привет Хабр. Представляю вниманию одну идею, и то, насколько ново мне удаётся её реализовать ново и на данном этапе на уровне Green Computing. Этот сервер (над которым работаю) я планирую использовать как буферную зону защищённую от менеджмента и рекламы (реклама если будет, то только в виде ссылок на рекламные хабы).
https://habr.com/ru/articles/1030914/
Алгоритмы и Структуры данных
Понять Big O раз и навсегда
Бывало такое: пишешь фичу, проверяешь на локалке — всё летает за миллисекунды. С чистой совестью катишь в прод. А через месяц объемы данных вырастают, приходят реальные юзеры, и всё ложится. Процессор в сотке, логи забиты таймаутами, поддержка в огне.
Смотришь в код — вроде всё логично и красиво. Откуда тормоза?
Всё дело в масштабировании. Алгоритм, который легко переваривает 100 элементов, на миллионе записей может запросто превратиться в тыкву.
Именно для понимания таких моментов и нужна нотация Big O. И нет, это не академическая муть, которую зубрят только ради прохождения алгоритмической секции на собесе и сразу забывают. Это практический навык. Он нужен, чтобы еще на этапе написания кода понимать: «ага, вот этот кусок при росте нагрузки убьет нам сервер».
https://habr.com/ru/articles/1030772/
Алгоритмы и Структуры данных
Что именно я понимаю под промежуточным представлением (IR) компилятора
Я много думал о том, как проектируются промежуточные представления (IR) для компилятора. В этом посте я поделюсь с вами некоторыми идеями, к которым я пришёл, и поясню, почему считаю их важными.
Главенствующая идея заключается в способности принимать решения, располагая лишь локальной информацией.
Она существует примерно в паре трактовок. Исходим из того, что в каждый момент времени компилируем один какой-то метод, а не занимаемся чем-то сближающимся с трассировкой (трассировка, трейслеты, версионирование базовых блоков, т.д.).
https://habr.com/ru/articles/1030578/
Алгоритмы и Структуры данных
Совет на ближайшие годы — изучайте ВАЙБ-КОДИНГ
ИИ уже пишет код, чинит баги, генерирует тесты, документацию и помогает запускать продукты быстрее, чем это делали классические команды разработки. И это уже не "будущее когда-нибудь", а реальность, которая меняет рынок уже сегодня
И те, кто научится вайбкодить сейчас, будут увереннее конкурировать на рынке и зарабатывать больше тех, кто по-прежнему делает всё вручную.
Стартовать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы.
Подписывайтесь, нас уже 30 тысяч: @vibecoding_tg
Попробовали научить AI искать то, чего никто не замечает — слабые рыночные сигналы
Это история об одном эксперименте, одной красивой ошибке и шести настоящих открытиях. О том, что наука — это не только правильные ответы. Это ещё и смелость задавать неудобные вопросы самому себе.
https://habr.com/ru/articles/1030160/
Алгоритмы и Структуры данных
Рекурсивные типы. Часть 6. Пересвёртка на практике
В этот раз мы рассмотрим, как пересвёртка рекурсивных структур данных помогает в решении задач динамического программирования.
https://habr.com/ru/articles/1029528/
Алгоритмы и Структуры данных
Те, кто не любит отлаживать — против тех, кто не любит писать
В программировании (как и в написании HDL кода и подобных профессиях) есть две школы мысли: чистолисты (строят свою архитектуру с чистого листа и пишут так чтобы поменьше отлаживать) и кодокопатели (отлаживают что есть, дополняя мусором из интернета, чтобы поменьше писать). На это накладывается менеджмент, который пытается комбинировать чистолистов и кодокопателей, иногда неправильным образом, то есть ставит чистолистов править то, что налабали кодокопатели. Это происходит потому, что кодокопатели постоянно выглядят занятыми отладкой, а чистолист часто смотрит в потолок обдумывая дизайн, поэтому менеджмент думает что первые работают быстрее чем вторые, и пытаются соптимизировать “быстроту-качество” вот таким образом.
https://habr.com/ru/articles/1029774/
Алгоритмы и Структуры данных
❌ Рынок труда в России
Наткнулся на статистику: на обычную IT-вакансию сейчас претендуют 8 человек. Но как только в требованиях появляется владение нейросетями — конкуренция падает до 2,4 к 1. И это касается не только IT, но и маркетинга, дизайна или менеджмента.
Сейчас умение работать с ИИ — решающий фактор при найме или пересмотре зарплаты. Чтобы быстрее найти работу и расти в чеке, нужно учиться внедрять технологии в свои задачи уже сейчас.
Советую подписаться на экспертов, за которыми слежу сам. В одной подборке — база по внедрению нейронок в реальные проекты, секреты поиска офферов в бигтехе и гайды по запуску своих AI-сервисов с нуля.
Подписывайтесь на авторов, которые раскроют ваш потенциал на максимум.
IT | AI | ИБ в одном месте 🔽
https://t.me/addlist/kGtwoQNi_mRmZDEy
Почему Chrome весит 7 000 Марио или как сжать «Змейку» в 1 000 раз
На вашем диске лежит семь одинаковых моделей птицы Додо. Не благодарите — это ARK заботливо положил их вам в каждое DLC.
Раньше Super Mario Bros весила 40 КБ. Сейчас одно обновление Chrome — это ~7 000 таких Марио. Как мы дошли до жизни такой, и почему все идет по кругу?
В статье пройдем путь от тайлов NES до Neural Texture Compression и рассмотрим змейку в трех версиях: по трем вехам сжатия. Одна из них в 1 120 раз меньше первой. И это не та, в которой ИИ.
https://habr.com/ru/companies/selectel/articles/1029402/
Алгоритмы и Структуры данных
Айтишники ловите сборник бесплатных курсов, полезных инструментов и книг
Проект «TERMINAL» стал крупнейшей библиотекой бесплатного образования. В одном канале собраны курсы, книги, полезные инструменты и практические тренажёры для всех разработчиков
🎓 Практические курсы и задания
🪽 Книги и статьи известных авторов
😮💨 Полезные инструменты и ресурсы
🌟 IT-новости и инсайды
Обучение по всем направлениям: SQL, Python, Frontend, PHP, C++, Golang, GIT, Linux, QA, Java, кибербезопасность и др.
Ценишь знания, подпишись: Terminal_tg
Реверс — это сканворд. Как я впервые нормально понял Ghidra
У меня бывают неожиданные заказы, из неожиданных сфер на фрилансе. Недавно писал про то как прилетел большой проект по классификатору фоток. А теперь пришел запрос на реверс! Не могу вдаваться в подробности проекта - много конфиденциального - но я расскажу про конкретный разбор одного .dll файла. Открыл Ghidra, кликнул на функцию, включил декомпилятор - и передо мной встала стена.
Не метафорическая стена. Прям реально стена!
https://habr.com/ru/articles/1029296/
Алгоритмы и Структуры данных
Фазовая синхронизация в системе FMComms5 от Analog Devices и оценка угла прихода сигнала
В этой статье дана инструкция для выполнения фазовой синхронизации в FMComms5 от Analog Devices и реализации метода пеленгации, использующего эту функцию. Оценочная плата FMComms5 обеспечивает высокую точность фазовой синхронизации. В этой статье рассказывается, как выровнять фазы двух приемопередатчиков AD9361 с помощью специальной программной библиотеки libad9361, созданной на основе инфраструктуры ввода-вывода libiio. Фазовое выравнивание необходимо для многих радиолокационных систем, таких как пеленгаторы и когерентные системы MIMO.
Исходный код GNURadio, на котором основан этот пример, был изначально разработан доктором Шрикантом Пагадараи и доктором Трэвисом Коллинзом при финансовой поддержке компании Ettus Research [1]. Недавно доктор Коллинз портировал его на платформу FMComms5, добавив документацию. В настоящее время код доступен по адресу github.com/tfcollins/gr-doa в ветке adi. Этот код распространяется по лицензии GPL3. Реализация на FMComms5 обеспечивает такую же производительность, как и предыдущая работа [1]. Технический документ из [1] также был дополнен авторами оригинальной статьи информацией о FMComms5 и стратегии его внедрения.
https://habr.com/ru/articles/1029232/
Алгоритмы и Структуры данных
Вариация на тему Рида-Соломона
В одном из проектов столкнулся с задачей кодирования данных с целью восстановления потерянных пакетов. Поскольку обработка пакетов осуществлялась полностью на цифровом уровне без доступа к информации от аналогового приемника (hard-decision), то я решил использовать код Рида-Соломона (РС). Обработка пакетов осуществлялась на контроллере esp32-s3, который среди прочего имеет возможность работы с векторами. И необходимо иметь большую силу воли, чтобы не воспользоваться этой интересной возможностью для ускорения вычисления. Собственно эта краткая статья посвящена адаптации и модификации кода РС для возможности использования векторных операций на этом контроллере.
https://habr.com/ru/articles/1033246/
Алгоритмы и Структуры данных
Задание 7 ЕГЭ по информатике: разбираем базу по кодированию изображений с нуля
Седьмое задание ЕГЭ по информатике часто воспринимается выпускниками как проходное. Казалось бы, что тут вообще может пойти не так? Выучил пару элементарных формул, умножил ширину картинки на высоту — и готово, законный балл в кармане.
Но на практике статистика неумолима: именно на задачах по кодированию изображений абитуриенты регулярно теряют драгоценные баллы. И проблема здесь кроется вовсе не в сложности самой концепции. Главные враги сдающего — это коварные детали. Ошибка при переводе килобайтов в биты, легкая путаница со степенями двойки и, конечно же, неправильное округление (в какую сторону округлять глубину цвета, если результат получился дробным?). Эти мелочи способны разрушить даже абсолютно верный ход мыслей.
Эта статья написана для того, чтобы раз и навсегда избавить вас от сомнений при встрече с графикой в КИМах. Наша цель — пройти путь от абсолютного нуля до полноценного понимания механики кодирования изображений.
https://habr.com/ru/articles/1029206/
Алгоритмы и Структуры данных
«Прогеры» или «Битва Големов v4.0»? Сравниваем две настольные игры, обучающие детей основам кода и робототехники
Так уж получилось, что в России уже почти десять лет из настольных игр, которые направлены на обучение младших школьников (и чуть постарше) основам алгоритмики, программирования и робототехники доступны или зарубежные игры типа «Ricochet Robots» или «Robot Turtles». Постарше (с 12–14 лет) могли познакомиться с классикой жанра «RoboRally», а также в последние года появились две сюжетные игры‑головоломки «Quirky Circuits» и «М.А.Р.И.» Я про них писал более года назад.
Но основная «борьба» развернулась между «Прогерами» от Банды Умников и моей «Битвой Големов». И, несмотря на общую направленность, это разные игры как по механикам, так и по применимости. Поэтому решил сравнить игры лоб‑в-лоб достаточно беспристрастно и рассказать об их различиях.
https://habr.com/ru/articles/1028760/
Алгоритмы и Структуры данных
Запускаем DeepSeek-V4 (1.6T) на «калькуляторе»: SVD-трансмутация, Identity Theft и гаражный MLOps
24 апреля 2026 года мир содрогнулся — вышел DeepSeek-V4-Pro. 1.6 триллиона параметров, MoE-архитектура, веса на 800+ ГБ. Академики в белых халатах из исследовательских центров тут же выкатили райдер: «Вам нужно минимум 8xH100 и прямой канал до дата-центра».
Мы посмотрели на свою бесплатную NVIDIA T4 с 16 ГБ VRAM в Kaggle, на 50 ГБ диска и поняли: вызов принят. Пока вы ждете гранты на GPU-кластеры, мы занимаемся цифровой вивисекцией.
https://habr.com/ru/articles/1028560/
Алгоритмы и Структуры данных
Как 2ГИС адаптируется к проблемам с позиционированием
Нестабильное позиционирование — не только пользовательская проблема, но и для нас как разработчиков картографического сервиса. Когда спутники теряются или данные становятся неточными, рушится целая цепочка: от отображения местоположения на карте до построения маршрута и поведения навигатора.
А источников ошибок много — плотная застройка, подземные парковки, тоннели и зоны с нестабильным сигналом. Чтобы приложение оставалось рабочим даже в таких условиях, мы стараемся улучшить систему позиционирования.
Ниже рассказываем про работу с геопозицией и что сделали, чтобы приложение оставалось рабочим, даже если сигнал пропал.
https://habr.com/ru/companies/2gis/articles/1028348/
Алгоритмы и Структуры данных
Поиск решений, управляемый данными. Направления развития
Это заключительная статья серии. Экспертная система, состоящая из информационных блоков и словаря, реализованная на принципах технологии поиска решений управляемого данными, позволяет накапливать и сохранять прикладные знания. Наполнение системы знаниями целиком и полностью доступно прикладным специалистам. Появляется возможность реализации прикладных задач в самых разных предметных областях с минимальным привлечением ИТ-специалистов, и практически без традиционного программирования. Опираясь на сохранённые знания, узкие прикладные специалисты могут автоматизировать свои насущные задачи. Радикально снижаются затраты на разработку и одновременно получается качественный, масштабируемый и легко сопровождаемый продукт.
https://habr.com/ru/articles/1028230/
Алгоритмы и Структуры данных
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
