Data Science: Алгоритмы и Структуры данных
Открыть в Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество: @oleginc Канал на бирже: https://telega.in/c/structuredata
Больше7 600
Подписчики
-124 часа
-177 дней
-4430 дней
Архив постов
Легенда о «Сетуни»
В далёкие времена, когда деревья были ниже, а космос ещё так далёк, где-то в конце 50-х прошлого столетия, зарождалась эра вычислительных машин.
Инженеры в белых халатах творили историю.
Транзисторы, диоды, реле, ферритовые кубы… создавались первые ЭВМ.
В стенах МГУ появилась легенда. И имя ей — Сетунь.
https://habr.com/ru/articles/46688/
Алгоритмы и Структуры данных
👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻
Сливаем вам базу с курсами и книгами от известных онлайн школ по Frontend:
(23 ГБ) — Основы веба
(46 ГБ) — HTML/CSS/Верстка
(53 ГБ) — JavaScript
(31 ГБ) — React
(17 ГБ) — TypeScript
(33 ГБ) — Vue / Angular / Svelte
(56 ГБ) — Webpack / Vite / Git
(43 ГБ) — Next.js / Nuxt.js
(68 ГБ) — Figma и Веб-дизайн
(76 ГБ) — Анимации и UI/UX
(44 ГБ) — WordPress
(37 ГБ) — Архитектура фронтенда
(21 ГБ) — Тестирование фронта
Скачивать ничего не нужно — все выложили в Telegram
Разработка собственной простой системы управления задачами по расписанию на Python
Давненько я ничего не публиковал на Хабре — пора это исправлять.
В этот раз хочу поделиться темой, которая кажется простой, но на деле вызывает интерес у многих разработчиков и системных администраторов: как создать свою легковесную систему планирования задач на Python. Что-то вроде мини-аналога cron, но под свои задачи и со своими фишками.
Ведь часто бывает так: хочется, чтобы какие-то проверки или скрипты запускались в определённое время — например, в обеденный перерыв у сотрудников можно поставить автоматическую проверку всех машин на наличие вредоносного ПО. Или наоборот — распределить рутинные проверки так, чтобы они не мешали основной работе.
https://habr.com/ru/articles/904800/
Алгоритмы и Структуры данных
Спуск контента вызова внутрь процедуры
Вообще-то я программирую в 1С, на языке, похожем на Visual Basic. Но мне кажется, что затронутый в этой теме вопрос касается всех языков программирования, т.к. затрагивает проблему, с которой рано или поздно сталкивается программист при работе со сложным кодом.
Суть ситуации заключается в том, что есть некая процедура, которая делает расчет или выполняет какие-то действия. Возникшие изменения требуют, чтобы в некоторых случаях этот расчет или действия отличались в зависимости от того, из какого контекста вызывается данная процедура.
Приведу пример, где после изменений требуется, чтобы выводилась не сумма y и z, а эта сумма, умноженная на некоторый коэффициент c, который вводится на верхнем уровне, в процедуре Top.
https://habr.com/ru/articles/673350/
Алгоритмы и Структуры данных
Обучение с подкреплением: практические рекомендации по обучению сетей Deep Q
В предыдущем материале из этой серии мы рассказали о сетях Deep Q (Deep Q Network, DQN) и написали алгоритм их обучения на псевдокоде. Хотя такие сети, в принципе, работоспособны, практическая реализация алгоритмов обучения с подкреплением (Reinforcement Learning, RL), выполняемая без понимания их ограничений, может вести к нестабильности создаваемых систем и к плохим результатам обучения. В этом материале мы обсудим два важных ограничения, две проблемы, способных привести к нестабильности Q-обучения.
https://habr.com/ru/companies/wunderfund/articles/672988/
Алгоритмы и Структуры данных
Код как кисть: как Python превращается в художника с помощью генеративных алгоритмов
Можно ли научить Python рисовать? Эта статья — не сухой туториал, а настоящая история экспериментов с генеративным искусством. В ней рассказывается о создании цифровых картин с помощью случайностей, математики, шума Перлина и любви к визуальному абсурду. Много кода, немного философии и никакой нейросети — только чистый Python и жажда выразительности.
https://habr.com/ru/articles/904672/
Алгоритмы и Структуры данных
Биржевой торговый робот на Искусственном Интеллекте «АТОМ». История создания, принципы торговли, дальнейшие цели
Я начал интересоваться биржевой торговлей 15 лет назад, после того, как прочитал книгу Ричарда Смиттена "Жизнь и смерть величайшего биржевого спекулянта". В этой книге автор рассказал историю жизни трейдера Уолл-стрит, Джесси Ливермора, который смог дважды предсказать падение фондового рынка в 1907 и 1929 году и заработать на этом в переводе на современные деньги миллиарды долларов. Перед смертью Ливермор написал книгу "Как торговать акциями", в которой поделился своими математическими формулами для определения уровней поддержки и сопротивления, тренда и ценовых паттернов.
https://habr.com/ru/articles/673880/
Алгоритмы и Структуры данных
Бесплатный мини-курс: освой базу тестирования за 72 часа
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 30 апреля!
👉 Записаться бесплатно (осталось 12 мест).
Обобщенный алгоритм Дейкстры
Алгоритм Дейкстры можно обобщить на произовльную функцию длины пути, если только она удовлетворяет трем условиям:
Монотонность. При добавлении ребра к пути, его длина не уменьшается: Len(path+e) \ge Len(path)
Консистентность. При добавлении одинакового ребра к путям одинаковой длины, получившиеся новые пути имеют одинаковую длину:Len(path_1) = Len(path_2) \Rightarrow Len(path_1 + e) = Len(path_2+e)
Оптимальность начала. Если к двум путям приписать одинаковое ребро, то кратчайший путь останется кратчайшим: Len(path_1) \le Len(path_2) \Rightarrow Len(path_1+e) \le Len(path_2+e)
https://habr.com/ru/articles/904508/
Алгоритмы и Структуры данных
В тему компиляций и вычислений выражений.
В далёком 1973 году Воган Прэтт (Vaughan Pratt) предложил простой и эффективный метод разбора выражений, не использующий ни автоматы, ни грамматику как таковую.
Идея заключается в том, что каждый символ (token) наделяется свойствами:
lbp = приоритет связывания символа слева,
nud = функция, определяющая результат применения оператора в начале выражения,
led = функция, определяющая результат применения в середине выражения.
https://habr.com/ru/articles/50349/
Алгоритмы и Структуры данных
Кролики и математика
Недавно вышла статья о реализации задачи по поиску максимального по площади квадрата внутри массива из единиц и нулей. Автор предлагал её решить через префиксные суммы.
Я какое-то время обдумывал её, а потом полез читать комментарии. Там показали способ решения с использованием динамического программирования (DP). Но меня всё еще не устраивало, что нам приходится обрабатывать полностью все поля (точнее итеративно N*M и при найденной единице "количество единиц * 4").
https://habr.com/ru/articles/904152/
Алгоритмы и Структуры данных
+8
⚡️ Frontend теперь в Telegram!
Ребята создали крутейший канал, где на простых картинках и понятном языке обучают фронтенд-разработке, делятся полезными инструментами и фишками
Подписывайтесь: @FrontendPortal
«Скоро приедем?»: как оценить время в пути
За прошедший год мы много работали над качеством предсказания времени в пути (ETA) в навигаторе 2ГИС и на 30% увеличили количество маршрутов, у которых прогнозное время совпадает с реальным с точностью до минуты. Меня зовут Кирилл, я Data Scientist в 2ГИС, и я расскажу, как максимально точно рассчитывать время прибытия из точки А в точку Б в условиях постоянного изменения дорожной ситуации.
Поговорим про то, как мы постепенно меняли подходы к оценке времени в пути: от простой аддитивной модели до использования ML-моделей прогноза пробок и корректировки ETA. Ввели Traversal Time на смену GPS скоростей, а ещё проводили эксперименты и оценивали качество изменений алгоритма, чистили мусор из данных и закатывали модели в продакшн. Обо всём по порядку.
https://habr.com/ru/companies/2gis/articles/674230/
Алгоритмы и Структуры данных
Repost from Ньюсач/Двач
Названы две основные экосистемы, которые улучшают жизнь россиян. Это Сбер и Яндекс.
По результатам исследования Spektr, лидерство по количеству категорий (8 из 18) держит Сбер. Его продукты, среди прочего, лучшие в сфере финансов (Сбербанк Онлайн), здоровья (СберЗдоровье) и трудоустройства (Работа.Ру).
Сервисы Яндекса лидируют в категориях мобильность (Яндекс Такси), информация (Яндекс Карты) и путешествия (Яндекс Путешествия). Всего - 6 из 18.
Очень простая структура данных, с помощью которой решаются сложные задачи
В этой статье я расскажу о стеке и задачах в которых он применяется. Включая задачу с заключительного этапа Всероссийской олимпиады школьников по информатике 2025 года.
https://habr.com/ru/articles/904130/
Алгоритмы и Структуры данных
⚡️Уже ЗАВТРА мы подведём итоги масштабного розыгрыша среди наших подписчиков — победители получат сразу три новеньких iPhone 16!
Самое время подписаться на @economica, @mosbusy и @ruble30 и нажать «Участвую!» под этим постом, если вы ещё этого не сделали. Результаты уже 25 апреля в 18:00!
Реализация ГОСТ 32.12. Симметричный шифр Кузнечик
В качестве первой статьи решил выбрать разбор реализации отечественного шифра «кузнечик». Постараюсь объяснить сложные вещи простым языком.
В качестве рабочего примера моя реализация на C.
https://habr.com/ru/articles/903938/
Алгоритмы и Структуры данных
📱 Как ИИ меняет индустрию iGaming?
ИИ уже давно перестал быть просто трендом — он активно трансформирует индустрию азартных игр. Автоматизация процессов, улучшение пользовательского опыта и создание персонализированных стратегий для игроков — вот лишь несколько примеров того, как ИИ меняет правила игры.
🔵 Хочешь узнать, как ИИ может повысить твой успех в iGaming? Подписывайся на Owner 1win и будь в центре событий!
На канале ты найдешь:
⏺ Анализ применения ИИ в iGaming: как технологии меняют процессы и делают игры умнее.
⏺ Экспертные прогнозы о будущем индустрии с учетом ИИ.
⏺ Советы по внедрению ИИ в стратегии и улучшению пользовательского опыта.
🔗Присоединяйся к Owner 1win и будь на волне iGaming трендов!😍
Совершенный алгоритм. Жадные алгоритмы и динамическое программирование
Совершенный алгоритм. Жадные алгоритмы и динамическое программирование - это третья часть лекций от Тима Рафгардена. Стиль первых частей сохранён: тем и алгоритмов не много, но разобраны они детально и даны не просто готовыми, но автор показывает, как к ним можно было бы прийти.
Первое, что удивило так это неожиданная встреча с WSJF - weighted shortest job first. WSJF - это популярная методика приоритизации задач в Scrum и Kanban. Например, Дин Леффингуэлл в своём руководстве по SAFe (Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise) на пальцах иллюстрирует результаты нескольких вариантов порядка выполнения задач (распределение эпиков, функциональностей и историй по инкрементам, итерациям и спринтам):
https://habr.com/ru/articles/674352/
Алгоритмы и Структуры данных
Как одна приоритетная очередь спасла наш биллинг от кэш-хаоса
Привет! Меня зовут Дмитрий Бандурин, я заместитель директора департамента биллинговых решений в компании «СИГМА». Моя команда регулярно выполняет нетривиальные задачи для стабильной работы высоконагруженных систем. Сегодня расскажу, как мы переработали логику обработки пакетных процессов в нашей системе массовых операций, на примере расчета дебиторской задолженности. Нам было необходимо, чтобы она справлялась с возрастающим объемом данных — и всё это в жестких временных рамках и в условиях многопоточности.
https://habr.com/ru/companies/sigma/articles/903684/
Алгоритмы и Структуры данных
