Всё про Алгоритмы и Структуры данных
Открыть в Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
Больше7 761
Подписчики
-324 часа
-77 дней
-3630 день
Архив постов
Вся соль непредсказуемости: ценность рандомизации при разработке игр
Научитесь внедрять рандомизацию в создаваемую игру, чтобы игроки оставались вовлечены в процесс и стремились перейти к следующей сцене. Это второй пост Кристо Ноббса, посвященный разработке систем, основанный на авторском вкладе Кристо в книгу The Unity game designer playbook. В данной книге подробнее рассказано о том, как прототипировать, собирать и тестировать игровой процесс (геймплей) в Unity.
В более раннем посте Кристо рассказывал, как разработчики могут создавать в своих играх такие системы, которые позволяют построить интригующий и неожиданный геймплей. Данный пост более узкоспециальный, рассказывает о том, как правильно организовать в игре рандомизацию.
https://habr.com/ru/companies/piter/articles/673746/
Алгоритмы и Структуры данных
Научный редактор о книге «Алгоритмы? Аха!»
Привет! Меня зовут Женя Войнов, в настоящее время работаю тимлидом и разработчиком на Java. Я участвовал в качестве научного редактора в подготовке русскоязычного издания книги «Алгоритмы? Аха!», которая изначально была написана на китайском языке. Это был мой первый подобный опыт, о котором я ничуть не жалею, а на момент написания данной статьи успел отредактировать еще две книги. Передо мной стояла задача адаптации материала для ИТ-аудитории и проверки его технической точности. Книга позиционируется как учебное пособие для начинающих разработчиков, студентов и всех, кто хочет систематизировать знания по алгоритмам и структурам данных, поэтому крайне важно убедиться в корректности перевода поданной авторами информации.
Рецензия этой книги появилась благодаря Read IT Club – сообществу рецензентов ИТ-литературы от КРОК, в котором я состою. Мы помогаем издательствам корректировать переводные книги и делать их понятнее русскоязычному читателю. Мы приглашаем друзей из других компаний и мечтаем сделать нашу инициативу глобальной. Подробнее можно прочитать на сайте.
https://habr.com/ru/companies/piter/articles/890178/
Алгоритмы и Структуры данных
Моё обстоятельственное столкновение с алгоритмами, ставшее возможностью в прокачке хард-скиллов
Программисты часто ставят перед собой множество дилемм, в частности, вопрос о прогрессивности стека технологий. Вот и я, находясь на позиции «junior», столкнулся с необходимостью оптимизации кода – и после частого откладывания этого вопроса на потом мне всё же пришлось поднять его снова. Сегодня я бы хотел поделиться своим опытом на эту тему.
https://habr.com/ru/companies/icl_group/articles/905020/
Алгоритмы и Структуры данных
+5
🖥 Linux Academy — топ-канал для продвинутого освоения Linux.
Мы раскрываем скрытые механизмы ядра через наглядные шпаргалки и яркую визуальную графику, детально разбираем малоизвестные команды и скрипты.
Экспресс-гайды, которые экономят часы поиска: t.me/linuxacademiya
Легенда о «Сетуни»
В далёкие времена, когда деревья были ниже, а космос ещё так далёк, где-то в конце 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!
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
