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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Как в Java устроено выделение регистров в памяти

Когда виртуальная машина Java компилирует ваш исходный код Java в машинный, одна из задач, которые она должна при этом выполнить – решить, где хранить локальные переменные Java и другие подобные временные значения. В вашей машине отсутствует концепция локальных переменных, поэтому на этапе компиляции необходимо определиться, какое место в памяти стека (какой машинный регистр) будет использоваться для хранения каждой переменной. Эта операция называется «выделение регистров». Может показаться, что выделение регистров – сложная абстрактная теоретическая тема, но в этом коротком посте я покажу, как сначала соотнести исходный код Java с теорией, потом понять, как его видит компилятор, а потом – показать результирующий машинный код. В данном случае моя цель – продемонстрировать, что все эти концепции очень легко опробовать на практике с реальным компилятором.

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

Алгоритмы и Структуры данных
👍1
Мой опыт с codewars спустя 3.5 года

Сразу хочу сказать, что в первую очередь задачи я решал для себя. Хочу поделиться моим опытом взаимодействия с этой платформой и насколько мне это помогло. Каждый по прочтению этой статьи решит для себя сам, стоит начинать или же нет. А началось мое знакомство в далеком январе 2022 года. За все время я решил почти 200-ти задач и имею 4kyu. Мне кажется главное, что стоит понять, что сайт делится на две категории - базовый и продвинутый. Большинство задач на 6, 7, 8 kyu - базовые. Всё, что меньше - продвинутый.

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

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

Считается, что в легендарную эпоху, до того как они образовали свою республику, римляне использовали десятимесячный календарь. Первый месяц назывался месяцем Марса, Mensis Martius, на английском языке известный как март; последний был месяцем № 10, Mensis December. Однако после декабря год ещё не заканчивался: прошло всего 304 дня. Остальные 61 или 62 дня солнечного года проходили в период без месяцев, в промежутке неизмеренного времени, возможно, менее значимом, поскольку это была зима и сельское хозяйство находилось в состоянии покоя.

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

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

Алгоритмы и Структуры данных
Разумная слизь? Тварь, способная решать сложные задачи, что не под силу даже существам, обладающим развитым мозгом

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

Знакомьтесь, Physarum polycephalum – не животное, не растение и даже не гриб. Простейшее одноклеточное амебовидное существо.

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

Алгоритмы и Структуры данных
Проблема, о которой вы наверняка не задумывались: print(.1+.2)

Как следует отображать на экране результат деления 3.0 на 10.0 ? Сколько цифр следует вывести, если пользователь не указал точность?

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

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

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

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

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

В этой статье мы посмотрим на результаты экспериментов: какие техники оказались наиболее эффективными на датасете Natural Questions, где они приятно удивили, а где — наоборот, не оправдали ожиданий. Для оценки будем использовать фреймворк RAGAS, а также метрики BertScore и ROUGE-2 для анализа релевантности извлечённых чанков и финальных ответов.

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

Алгоритмы и Структуры данных
Лучшие курсы SEO: обучение по продвижению сайтов

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

https://proglib.io/p/luchshie-kursy-seo-obuchenie-po-prodvizheniyu-saytov-2025-01-27

Алгоритмы и Структуры данных
Перцептрон SAAR (Само-рекурсивный ассоциативно адаптивный резервуар)

Аннотация. В работе предлагается новая архитектура искусственного перцептрона — SAAR-Perceptron (Self-Recursive Associative Adaptive Reservoir Perceptron), развивающая классическую модель Розенблатта (S–A–R). Ключевая особенность архитектуры заключается во введении ассоциативного слоя с саморекурсивным отображением (A→A), формирующего динамический граф признаков. В отличие от традиционных рекуррентных моделей, эти связи не обучаются, что обеспечивает устойчивую динамику и выполняет роль адаптивного резервуара, расширяющего пространство признаков.

Ассоциативный слой использует пороговую активацию, эквивалентную ReLU, что позволяет выделять только положительные реакции. Однако обучение осуществляется не на «сырые» выходы, а на их нормализованные значения, что адаптирует величину корректировки весов к относительной значимости каждого признака. Такой механизм предотвращает доминирование отдельных элементов и обеспечивает сбалансированное обучение.

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

Алгоритмы и Структуры данных
1
Обрабатываем строки в 109 раз быстрее, чем Nvidia на H100

Недавно я выпустил StringZilla v4 — первый релиз с поддержкой CUDA моей библиотеки для обработки строк, нацеленной в первую очередь на SIMD. Это означает, что теперь она стала быстрой не только на CPU, но и на GPU!

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

Алгоритмы и Структуры данных
🤯1
Квантование в картинках: раскрываем тайны сжатия LLM

Большие языковые модели (LLM, Large Language Model), как подсказывает их название, часто отличаются значительными размерами и слишком велики для того, чтобы нормально работать на обычных компьютерах. Масштабы этих моделей могут измеряться миллиардами параметров. Обычно для обеспечений достойной скорости их работы необходимы GPU с серьёзными объёмами видеопамяти (VRAM).

Из-за этого проводится всё больше и больше исследований, посвящённых уменьшению размеров подобных моделей. Исследователи совершенствуют обучение моделей, используют адаптеры, прибегают к другим способам их оптимизации. Один из главных приёмов уменьшения размеров моделей называется квантованием (quantization).

https://habr.com/ru/companies/wunderfund/articles/950118/

Алгоритмы и Структуры данных
Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr]

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

https://habr.com/ru/companies/timeweb/articles/645593/

Алгоритмы и Структуры данных
Почему Игнорирование Божественного в Коде Приводит к Пространственному Коллапсу

Этот отчет представляет Hive Chat как «Живое Приложение» и раскрывает его уникальную философскую основу. Мы утверждаем, что пренебрежение «священными» принципами — онтологической чистотой, биоинспирированной архитектурой и целостными метриками здоровья — приводит к хрупкому, неустойчивому программному обеспечению. Принимая эти принципы, Улей способствует созданию надежных, эволюционирующих и по-настоящему совместных систем человек-ИИ, предлагая жизненно важную альтернативу традиционным, часто хаотичным, парадигмам разработки.

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

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

Меня
зовут Михаил Васильев, я старший специалист по машинному обучению в компании Makves (входит в группу компаний «Гарда»). Эта статья — вторая в цикле, посвященном поиску аномалий. В первой статье мы поговорили о том, что такое аномалии и почему их сложно искать, а также по шагам разобрали алгоритмы HBOS и ECOD.

Сегодня предлагаю разобрать еще один интересный алгоритм: Isolation Forest, а также немного углубиться в проблематику задачи.

https://habr.com/ru/companies/garda/articles/938366/

Алгоритмы и Структуры данных
Анализ гипотез и очень, ооооооочень странные дела

Лет 5 назад я усиленно пытался вникнуть в тервер и статы: книги, статьи, вебсёрфинг. Даже написал несколько статей: раз, два, три. Вообще, в планах было написать довольно большой цикл статей, что бы подсветить какие-то самые сложные вещи, да и самому в них разобраться - совместить полезное с полезным, так сказать. Однако, в какой-то момент я решил, что полученных знаний достаточно для новых проектов и ушел в работу. Работал. Работал. Работал.

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

Алгоритмы и Структуры данных
Планы CS Space на осенний семестр

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

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

Алгоритмы и Структуры данных
Как работать с нейросетями эффективно: теория и практика

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

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

Алгоритмы и Структуры данных
Как работать с нейросетями эффективно: теория и практика

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

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

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

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

Вам это может показаться странным, но были времена, когда отрицательные числа казались людям чем-то неестественным, причём даже тем людям, которые зарабатывали себе на жизнь числами — математикам. Как можно считать числом то, что не имеет физического воплощения? С отрицательными числами в итоге смирились, но уж что точно невозможно было терпеть, так это совсем непонятную величинуi, квадрат которой-1, это уже противоречит всякому здравому смыслу. Тем не менее время показало, что законы физики и математики, сформулированные с использованиемi имеют больший смысл, чем законы, сформулированные без неё. Еще в 19 веке Карл Фридрих Гаусс отметил, что "Если бы вместо того, чтобы называть +1, −1,\sqrt{−1}​ положительной, отрицательной или мнимой (или даже невозможной) единицей, их назвали бы, скажем, прямой, обратной или боковой единицей, то едва ли можно было бы говорить о какой-либо темноте".

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

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

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

Мы ежедневно работаем с информацией из разных источников. При этом каждый из нас имеет некоторые интуитивные представления о том, что означает, что один источник является для нас более информативным, чем другой. Однако далеко не всегда понятно, как это правильно определить формально. Не всегда большое количество текста означает большое количество информации. Например, среди СМИ распространена практика, когда короткое сообщение из ленты информационного агентства переписывают в большую новость, но при этом не добавляют никакой «новой информации». Или другой пример: рассмотрим текстовый файл с романом Л.Н. Толстого «Война и мир» в кодировке UTF-8. Его размер — 3.2 Мб. Сколько информации содержится в этом файле? Изменится ли это количество, если файл перекодировать в другую кодировку? А если заархивировать? Сколько информации вы получите, если прочитаете этот файл? А если прочитаете его второй раз?

https://habr.com/ru/companies/JetBrains-education/articles/599637/

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