Всё про Алгоритмы и Структуры данных
Открыть в Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
Больше7 761
Подписчики
-224 часа
-67 дней
-3430 день
Архив постов
Как улучшить распознавание скелетов в MediaPipe
Я люблю скелетные детекторы из Mediapipe. Чтобы запустить их нужно всего несколько минут. Работает на разных платформах (мобильные, pc, embedded, и.т.д.). И выдает достаточное качество для многих применений.
Но надо признать что не всюду качества хватает. Давайте я расскажу как небольшими силами можно его улучшить. Приведенная тут логика будет построена вокруг Mediapipe, но она им не ограничена. Применяя аналогичные подходы можно улучшить практически любой скелетный алгоритм.
https://habr.com/ru/companies/recognitor/articles/664558/
Алгоритмы и Структуры данных
Бесплатный мини-курс: освой базу тестирования за 72 часа
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 30 апреля!
👉 Записаться бесплатно (осталось 12 мест).
Парадоксальный рост популярности Python в научных вычислениях
Чтобы уверенно пересечь незнакомую местность, можно или двигаться быстрее, или подыскивать удобную дорожку. Другими словами, слишком пристальное внимание к скорости как таковой может вас притормозить. То же касается и разработки программного обеспечения.
В нашей лаборатории примерно с 2010 года бушуют противоречивые дебаты, которые сводятся к следующему вопросу:
«Почему все больше и больше научных вычислений, критичных по времени, ранее выполнявшихся на Fortran, теперь пишутся на Python, более медленном языке?»
Формулировки расплывчаты, что способствует клановой розни между пользователями, обусловленной в большей степени привычками, чем основанные на объективных оценках двух подходов. Давайте попробуем обозначить некоторые основы для достижения взаимопонимания, конкретизировав этот вопрос.
https://habr.com/ru/companies/piter/articles/665102/
Алгоритмы и Структуры данных
Трейдер без кода – как брадобрей без бороды. Алгоритмическая торговля с TradingView: как начать, и зачем это надо
Когда-то умение работать с алгоритмами и кодом считалось для всякого трейдера гигантским преимуществом. Но с недавних пор ситуация изменилась. И если вы хотите системно-эффективно торговать на рынке (неважно, крипта это или фонда), алгоритмическая торговля для вас – уже не жирный плюсик к карме, а острая необходимость.
Почему? Всё просто. Даже если вы открываете свои сделки вручную, то в большинстве случаев конкурируете уже не с людьми, а с кодом. На автоматические и алгоритмические торговые системы приходится:
https://habr.com/ru/articles/918228/
Алгоритмы и Структуры данных
«Живые графы» — выращивание графов на клеточных автоматах с примерами на Silverlight
Пожалуй, ничто так долго, на протяжении многих веков, не интересовало учёных, как вопросы о происхождении жизни и разума. Как природа догадалась сотворить человеческий мозг? Чем определяется структура нейронной сети в нашей голове и как работает автосборка многоклеточного организма из единственной клетки? Почему при развитии зародыша человека на определённой стадии можно наблюдать нечто похожее на рыбьи жабры?
Да и простого любопытствующего обывателя, не отягощённого подробностями органической химии, подобные вопросы не обходят стороной.
Вот была бы игрушка-конструктор, с помощью которой можно собрать простенькие растущие организмы. Тогда построив предельно упрощённую модель, демонстрирующую многие из явлений живого, можно было бы приблизиться к ответам на вопросы устройства жизни, или хотя бы к пониманию, где эти ответы искать.
https://habr.com/ru/articles/107387/
Алгоритмы и Структуры данных
Эвристические алгоритмы формирования портфеля инвестиций
Предположим, что у нас есть 100 млн. долларов, которые нужно вложить в несколько возможных инвестиций. Каждое из этих вложений имеет различную стоимость и различный ожидаемый доход. Мы должны решить, как потратить деньги, чтобы получить максимальную прибыль.
Задачи такого типа называются задачами формирования портфеля. У нас есть несколько позиций (инвестиций), которые должны поместиться в портфель фиксированного размера (100 млн. долларов). Каждая позиция имеет свою прибыльность. Необходимо найти набор позиций, которые помещаются в портфель и дают максимальную прибыль.
Многие из вас скажут, что никакие эвристики тут не нужны, и что вполне можно обойтись полным перебором. Другие заявят, что и полный перебор не нужен, ведь существует метод ветвей и границ. Но как быть, если количество возможных инвестиций 65? Полное дерево решений содержит более 7*10^19 узлов. Предположим, что метод ветвей и границ перебирает десятую часть процента этих узлов, а компьютер проверяет миллион узлов в секунду. В этих условиях для решения задачи потребовалось бы более 2 млн. лет. Именно для таких сложных задач и используются эвристики. Если вам интересно, милости прошу под кат.
https://habr.com/ru/articles/108961/
Алгоритмы и Структуры данных
Как устроены LLM-агенты: архитектура, планирование и инструменты
Всем привет! С вами Кирилл Филипенко, сисадмин из Selectel, и сегодня мы погрузимся в тему LLM-агентов. Сейчас об этих самых «агентах» кричат буквально из каждого утюга, поэтому пришло время наконец-то разобраться, что это такое, как они работают и с чем их, собственно, едят. Прыгайте под кат, будет интересно!
https://habr.com/ru/companies/selectel/articles/916798/
Алгоритмы и Структуры данных
W-функция Ламберта и ее приложения
Математический анализ знает множество прекрасных функций с необычными свойствами. Среди них интегральные синус si(x)и логарифм li(x), также нельзя не отметить гамма-функцию \Gamma(x) или очень известную дзета-функцию Римана \zeta(s). Но сегодня я предлагаю читателю посмотреть на функцию W-Ламберта W(x).
https://habr.com/ru/articles/665634/
Алгоритмы и Структуры данных
🔥Data Science — ваш билет в топ-10% IT по зарплатам. Но как войти без ошибок?
Сегодня даже средний бизнес не может обойтись без Data Science — прогнозирование, автоматизация решений, работа с нейросетями. Но чем крупнее компания, тем выше требования... и зарплаты.
Skillfactory запускает бесплатный 3-дневный мини-курс, где вы погрузитесь в реальную работу дата-сайентиста. Вот что вас ждёт:
☑️ День 1: Вы сразу пишете код на Python — не теория, а разбор реального датасета.
☑️ День 2: Строите ML-модель для прогнозирования — такую же, как используют в Сбере и Яндекс.
☑️ День 3: Разбираете ваш персональный сценарий в DS: анализ, ML или инженерия?
Запускайте курс.
🎁 После мини-курса у вас будет 3 проекта в портфолио, и вы получите в подарок: "Гайд «25 нейросетей для работы» (включая ChatGPT и Midjourney)". А также скидку 45% на полный курс, переходите по ссылке и научитесь ТОП-профессии будущего.
Реклама. Информация о рекламодателе по ссылкам в посте.
10 лучших алгоритмов 20 века
Algos — греческое слово, означающее боль. Algor — латинское слово, означающее холод. Но ни то, ни другое не является корнем слова «алгоритм», которое происходит от имени Аль-Хорезми – арабского ученого девятого века – чья книга «al-jabr wa’l muqabalah» (Китаб аль-джебр ва-ль-мукабала) переросла современные учебники по алгебре для средней школы. Аль-Хорезми подчеркивал важность методических процедур для решения задач. Будь он сегодня здесь, то, несомненно, был бы впечатлен вершинами математического метода, названного в его честь.
Часть из лучших алгоритмов компьютерной эры были освещены в январско-февральском выпуске 2000 года журнала Computing in Science & Engineering — совместном издании Американского института физики и Компьютерного общества IEEE. Приглашенные редакторы Jack Dongarra (Джек Донгарра) из Университета Теннесси и Francis Sullivan (Фрэнсис Салливан) из Института оборонного анализа составили список из 10 алгоритмов, который они назвали «Top Ten Algorithms of the Century».
https://habr.com/ru/companies/timeweb/articles/666122/
Алгоритмы и Структуры данных
Earcut на битах
Earcut - базовый, почти учебный алгоритм триангуляции, но при некоторых раскладах он обгоняет более "продвинутые" решения.
Я убедился в этом, тестируя iTriangle, который построен на монотонной триангуляции. Для замеров я использовал Earcut от MapBox - и C++ версию, и Rust-порт.
Результаты оказались предсказуемыми: Earcut стабильно выигрывал на простой геометрии и малом числе точек. Причём настолько уверенно, что я задумался: почему бы не встроить Earcut прямо в iTriangle?
Так и родилась идея: сделать мини-версию, заточенную только под одиночные контуры до 64 точек. С таким ограничением можно выжать максимум: обойтись без аллокаций, работать напрямую с битовой маской и попытаться обойти решение от MapBox.
https://habr.com/ru/articles/917688/
Алгоритмы и Структуры данных
Как я впервые столкнулся со связанными списками и не сдался
Недавно я решил начать решать задачки на LeetCode. К этому я пришел, чтобы в будущем на собеседованиях не ударить в грязь лицом и уверенно справляться хотя бы с базовыми задачами на сортировку, работу со строками и тому подобное.
Сначала все шло неплохо: я успешно решал легкие задачки, используя обычные циклы (for, while). Редко когда надо было прям зависать и задумываться над решениями. Чаще, если даже решение было неверным, можно было в процессе искать ошибки и исправлять их. Но тут я наткнулся на задачу с пометкой "Easy" и названием "Merge Two Sorted Lists".
Прочитав название, я не обратил внимания на слово List и подумал, что это очередное задание на сортировку/конкатенацию массивов и в принципе обрадовался: “Щас решу в одну строку”, - подумал я. Однако компилятор остудил мой пыл.
Тогда я понял, что задача не так проста, как казалась и начал подробнее узнавать что же такое связанный список.
https://habr.com/ru/articles/917218/
Алгоритмы и Структуры данных
Как я впервые столкнулся со связанными списками и не сдался
Недавно я решил начать решать задачки на LeetCode. К этому я пришел, чтобы в будущем на собеседованиях не ударить в грязь лицом и уверенно справляться хотя бы с базовыми задачами на сортировку, работу со строками и тому подобное.
Сначала все шло неплохо: я успешно решал легкие задачки, используя обычные циклы (for, while). Редко когда надо было прям зависать и задумываться над решениями. Чаще, если даже решение было неверным, можно было в процессе искать ошибки и исправлять их. Но тут я наткнулся на задачу с пометкой "Easy" и названием "Merge Two Sorted Lists".
Прочитав название, я не обратил внимания на слово List и подумал, что это очередное задание на сортировку/конкатенацию массивов и в принципе обрадовался: “Щас решу в одну строку”, - подумал я. Однако компилятор остудил мой пыл.
Тогда я понял, что задача не так проста, как казалась и начал подробнее узнавать что же такое связанный список.
https://habr.com/ru/articles/917218/
Алгоритмы и Структуры данных
Изучи Java и начни карьеру в IT за 5 дней!
Java-разработчики зарабатывают от 80 000 ₽, а вакансий более 4 700. Пройди мини-курс и создай три реальные программы: Telegram-бота, обработку файлов и чат. Ты сразу поймёшь, подходит ли тебе разработка на Java.
Обучение в удобное время, поддержка спикера, полезные материалы и комьюнити. Все шаги просты и понятны — ты всему научишься с нуля!
Успей записаться, пока есть места! Получи гайд по старту карьеры в подарок. Старт сразу после регистрации.
Думает ли искусственный интеллект о коте Шрёдингера? История о том, как я внедрял в алгоритм идею параллельных вселенных
Всё началось с простого вопроса: что, если научить искусственный интеллект не просто анализировать данные, а воспринимать каждое решение как один из множества возможных исходов? Не искать единственно верный ответ, а картографировать все возможные траектории, которые могли бы реализоваться в параллельных реальностях.
Такой подход меняет саму логику анализа: вместо нахождения оптимума — построение карты событий. И если мы поручаем эту задачу модели, то стоит задуматься и о том, как сделать эту множественность доступной для человека — наглядной, понятной, функциональной.
https://habr.com/ru/articles/916524/
Алгоритмы и Структуры данных
Проверяем написанную LLM библиотеку OAuth на уязвимости
Сегодня я решил изучить новую библиотеку Cloudflare OAuth provider, которую, судя по заявлениям, почти полностью написали при помощи LLM Claude компании Anthropic:
Эта библиотека (в том числе и документация по схеме) была по большей мере написана при помощи Claude — ИИ-модели компании Anthropic. Результаты работы Claude были тщательно проверены инженерами Cloudflare, уделившими особое внимание безопасности и соответствию стандартам. В исходный результат было внесено множество улучшений, в основном тоже при помощи промптов Claude (и с проверкой результатов). Промпты модели Claude и созданный ею код можно посмотреть в истории коммитов.
https://habr.com/ru/articles/916928/
Алгоритмы и Структуры данных
Резервуарное сэмплирование и собачки
Резервуарное сэмплирование — это методика выбора справедливого случайного образца, когда неизвестен размер множества, из которого выполняется выборка. К концу этой статьи вы будете знать:
Когда может потребоваться резервуарное сэмплирование.
Математика его работы на основании лишь базовых операций: вычитания, умножения, умножения и деления. Никаких сложных математических формул, обещаю.
Простой способ реализации резервуарного сэмплирования на случай, если вам оно понадобится.
https://habr.com/ru/companies/ruvds/articles/916250/
Алгоритмы и Структуры данных
Геометрический смысл комплексного гармонического осциллятора и винты
Аннотация: Исследуется связь комплексных решений уравнения гармонического осциллятора с винтовыми движениями. Показано, что суперпозиция решений с противоположной хиральностью описывает синхронизированные линейные и вращательные колебания в системе "груз-пружина".
И что отдельно интересно, это то, что в очередной раз оказалось невероятно удобно работать с нейросетью DeepSeek:
https://habr.com/ru/articles/916654/
Алгоритмы и Структуры данных
👨💻 Эти каналы реально помогают в изучении программирования и IT
Не веришь? Проверь сам:
👩💻 Easy GitHub — лучшие репозитории с гитхаба для практики и освоения IT.
🖥 Easy WebDev — всё про Frontend, Backend и сопутствующие технологии.
🖥 Easy Python — лёгкое изучение самого универсального языка в мире.
🔠 Easy InfoSec — ИБ, хакинг, OSINT, анонимность, пентест и многое другое.
🖥 Easy Coder — а здесь вообще про всё, что нужно знать для работы в IT.
🖱 Просто выбери нужное и получай топовые материалы каждый день!
Три дня отделяет вас от профессии с низким порогом входа в IT и зарплатой от 150 000 рублей в перспективе.
Пройди бесплатное трехдневное обучение от Skillfactory и научись искать, исправлять баги инструментами тестировщика.
Обучение нацелено на приобретение практичных навыков, которые можно сразу применить после курса, в этом вам помогут бонусные 4 статьи для старта карьеры в тестировании.
После бесплатного мини-курса вы сразу сможете начать монетизировать вновь обретенные навыки. Начни сейчас: записывайся на обучение.
Реклама. Информация о рекламодателе по ссылкам в посте.
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
