Data Science: Алгоритмы и Структуры данных
رفتن به کانال در Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
نمایش بیشتر7 720
مشترکین
-324 ساعت
-107 روز
-1830 روز
آرشیو پست ها
Про LRU-кэш (в том числе — на собеседовании) — 3 способа реализации
LRU-кэш это популярная структура данных, хранящая пары ключ-значение, но в отличие от обычной "мэпы", ограниченная по размеру - более старые (Least-Recently-Used) записи "вытряхиваются" при переполнении. Он популярен как в повседневной работе так и на собеседованиях (видимо в качестве альтернативы заезженным алгоритмам сортировок). Собственно под влиянием небольшого спора с интервьюером и родилась эта заметка :)
Огорчает, что обычно подразумевают конкретно "классическую" реализацию с мэпой и двухсвязным списком. В некоторых языках (Java) даже в стандартную либу входит такая комбинация (LinkedHashMap).
А на деле способов реализации можно найти или придумать много - в этом смысле задачка тем и хороша что простор для "пошевелить мозгами" очень большой. Я собираюсь здесь показать как от "классического" способа прийти к более простым вариантам (без списка - с таймстемпами или с поколениями). Как в инженерной практике так и на собеседовании - чем проще, тем лучше - правда? И мы проанализируем и проверим, проседает ли быстродействие (а может наоборот улучшается?)
https://habr.com/ru/articles/995916/
Алгоритмы и Структуры данных
50 LLM-клеток пытались построить организм. Вот что получилось
В 1970 году математик Джон Конвей придумал игру без игроков.
Сетка. Клетки. Три правила. Меньше двух соседей — умираешь от одиночества. Больше трёх — от тесноты. Ровно три соседа рядом с пустой клеткой — рождается новая.
Всё.
Из этого появились глайдеры — структуры, которые ползут по полю. Пушки, которые стреляют глайдерами. Компьютеры внутри игры, способные вычислять что угодно. Целая вселенная — из трёх строчек логики.
Но вот что не давало мне покоя.
Клетки в «Жизни» не выбирают. Они подчиняются. Правило сработало — клетка умерла. Никаких переговоров.
А что, если дать клеткам мозг?
https://habr.com/ru/articles/996836/
Алгоритмы и Структуры данных
Монотонный стек: описание и примеры применения
В этой статье хотел бы рассказать о структуре данных под названием монотонный стек (monotonic stack) и разобрать несколько примеров задач в решении которых он применим.
Статья может быть интересна любителям решать алгоритмические задачи, в особенности тем кто готовится к собеседованию.
https://habr.com/ru/articles/996802/
Алгоритмы и Структуры данных
5 отличных англоязычных книг по теоретическому Computer Science
Подборка книг и курсов по информационным технологиям от лучших университетов и преподавателей планеты, которая поможет в углубленном изучении информатики.
https://proglib.io/p/5-computer-science-books
Алгоритмы и Структуры данных
«Искусство программирования» — обзор легендарной серии книг
Краткий обзор легендарной монографии Дональда Кнута «Искусство программирования» - фундаментального труда в области компьютерных наук.
https://proglib.io/p/knuth-art-of-programming
Алгоритмы и Структуры данных
Маски, Каскады, использование масок вместо циклов(В некоторых случаях) + Атомарные инструкции
Сегодня я решил закрыть трилогию статей, а закончи парой не мало важных тем. Хочу сказать огромное спасибо тем кто активничает и задает вопросы. Ну что ж, начнем.
https://habr.com/ru/articles/996432/
Алгоритмы и Структуры данных
Архитектура «Обратного Хэша»: Нейросети без умножения
Современный Deep Learning уперся в производительность вычислений с плавающей точкой и пропускную способность памяти. Мы предлагаем архитектуру, где нейрон — это не сумма произведений, а битовая хэш-функция. Ноль умножений, ноль сложений. Только логика и статистика.
https://habr.com/ru/articles/996268/
Алгоритмы и Структуры данных
Сиденье пропержено. Коврик для мыши стерся еще пару лет назад.
Слышу это от каждого второго прогера. Но это все в прошлом, когда подписан на AliExpress Программиста
Ежедневно публикуем самые интересные находки для айтишников, подписывайся – https://t.me/+wuZuKdYccG1kMjJi
Я заразил 200 нейросетей вирусом. К 20-му поколению они выработали иммунитет — и разучились думать
Лёха — единственный биолог среди моих друзей. Мы сидим в баре, он тычет телефоном мне в лицо. На экране — чашка Петри. В колонию бактерий вливают бактериофаги. Бактерии лопаются. Колония редеет. Тает. Исчезает.
Перематывает на сутки.
Колония на месте. Как ни в чём не бывало.
«Выжившие передали устойчивость потомкам. Они не понимают вирус. Перебирают мутации, пока что-то не сработает. А потом это наследуется».
Я смотрю на экран и думаю совсем про другое. Вчера Карпати выложил microGPT — минимальную архитектуру GPT, которую можно уместить на двух экранах. Attention, эмбеддинги, генерация — всё на месте. Никаких фреймворков размером с авианосец. Весь алгоритмический контент, необходимый для обучения языковой модели, в одном файле.
https://habr.com/ru/articles/996244/
Алгоритмы и Структуры данных
В поисках O(n): как научиться видеть эффективные решения задач
Привет, Хабр! Сегодня разберём простую на первый взгляд, но очень показательную задачку: найти максимальное произведение двух чисел в массиве целых чисел.
На собеседованиях, в олимпиадах или даже в реальных задачах часто возникают простые на вид задачи, за которыми скрывается важный урок: правильный выбор алгоритма решает всё.
Казалось бы — что сложного скрывает поставленная задача о нахождении максимального произведения двух чисел? Но в зависимости от подхода решение может работать за O(n^2), O(n log n) или O(n).
https://habr.com/ru/articles/996212/
Алгоритмы и Структуры данных
Сортировки в гифках: 8 самых популярных алгоритмов
Краткий гайд пригодится новичкам, расскажет о видах и способах сортировки. Для лучшего усвоения и наглядности процесса каждый вид сопровождается gif-анимацией.
https://proglib.io/p/sort-gif
Алгоритмы и Структуры данных
10 структур данных, которые вы должны знать (+видео и задания)
Бо Карнс – разработчик и преподаватель расскажет о наиболее часто используемых и общих структурах данных. Специально для вас мы перевели его статью.
https://proglib.io/p/data-structures
Алгоритмы и Структуры данных
Хеш-таблица это не О(1)
Нет лучше способа в чем-то разобраться, чем написать свою реализацию.
Создадим базовую версию хеш-таблицы, выясним, когда операция добавления, удаления и получения значения по ключу выполняется не за константное время.
https://habr.com/ru/articles/995544/
Алгоритмы и Структуры данных
Окончательно разбираем списки в питоне
Какая структура данных стоит за list? Как быстро отрабатывает операция append? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги.
Эта статья предполагает, что у читателя есть какая‑то база: понимание, как работает память, и что такое О большое. Если нет, можно начать с видео‑версии, там больше визуала и примеров с собеседований. В видео также есть про изменяемость списков и про то, почему нужно использовать copy() вместо =. Данная статья является более углублённым разбором.
https://habr.com/ru/articles/989942/
Алгоритмы и Структуры данных
🖥 Твой личный ChatGPT прямо в Telegram!
Сфоткал задание - отправил боту - получил готовое пошаговое решение через секунды.
Учеба, тексты, код, идеи, переводы - всё в одном чате.
Без регистраций.
Без сложностей. Бесплатно.
📲 В телефоне
⚡ Мгновенно
🧠 Интеллектуально
t.me/Chatgpturbobot - один бот вместо репетитора, гугла и сотни вкладок
Мой опыт решения 50 задач по динамическому программированию из LeetCode-плана за 24 дня
Всем привет! Я решил углубленно изучить динамическое программирование и поделиться с вами опытом. Недавно я обнаружил довольно интересный план обучения на LeetCode (https://leetcode.com/studyplan/dynamic-programming/), взял его за основу - и полностью завершил, решив все задачи (50/50).
https://habr.com/ru/articles/995376/
Алгоритмы и Структуры данных
Гиперсети: нейронные сети для обработки иерархических данных
В этом посте мы проанализируем иной подход, а именно создание гиперсетей. С их помощью можно научить нейронные сети адаптироваться к датасету. Гиперсеть не будет заучивать одно фиксированное отображение, а освоит генерацию параметров другой сети на основании датасета, полученного в качестве эмбеддинга. В результате получится модель, способная:
https://habr.com/ru/articles/995346/
Алгоритмы и Структуры данных
База по графовой СУБД Neo4j
Последние полтора года я почти каждый будний день работаю с графовой СУБД Neo4j. В эту статью я поместил основы, которые в худшем случае сильно расширят ваш технический кругозор, а в лучшем - станут отправной точкой для изучения графовых СУБД. Я постарался понятно изложить важные моменты, которые разбросаны по разным книгам и статьям, чтобы вам было проще познакомиться с Neo4j.
https://habr.com/ru/articles/994950/
Алгоритмы и Структуры данных
SIMDe, дополнение к DOD архетектуре
Для начала хочу сказать огромное спасибо всем, кто прочитал и прокомментировал мою прошлую статью про Data-Oriented Design.
Честно говоря, я ожидал дискуссии, но такой накал страстей вокруг кэш-миссов, структур данных и «смерти ООП» меня приятно удивил. Приятно видеть, что оптимизация и понимание того, как данные текут через железо, всё еще волнуют сообщество.
Я внимательно изучил все ваши аргументы — от «компилятор сам всё сделает» до «это невозможно поддерживать в реальных проектах». И вместо того, чтобы отвечать каждому в ветке комментариев, я решил подготовить этот материал.
Многие из вас совершенно справедливо заметили: DOD — это круто, но какой в нем смысл, если мы упираемся в зоопарк архитектур? Мы раскладываем данные в памяти идеально ровно, но как только пытаемся применить к ним SIMD-инструкции (чтобы получить тот самый 10-кратный буст), мы попадаем в ловушку вендор-лока. Написал под Intel — не работает на ARM. Написал под ARM — не заведется в браузере.
https://habr.com/ru/articles/995072/
Алгоритмы и Структуры данных
Новогодний переполох X Яндекс Доставка
Всем привет, любители экспресс доставки до клиента! Я тут на неделе узнал прикольный кейс при работе с Яндекс Доставкой, который стрелял так, что дорогие оффера Яндекса все таки пробивали первую линию обороны и выбирались как целевые при экспресс доставке до клиентов Sunlight. Я думал, что мы готовы к праздникам а оказалось, что не совсем
https://habr.com/ru/articles/994974/
Алгоритмы и Структуры данных
