Всё про Алгоритмы и Структуры данных
الذهاب إلى القناة على Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
إظهار المزيد7 757
المشتركون
+124 ساعات
-47 أيام
-2630 أيام
أرشيف المشاركات
Танцы без бубнов или как я реализовал автомат на ПЛИС
Всем привет, дорогие хабровчане! Сегодня я хочу поделиться своей «больной» идеей реализовать калькулятор на ПЛИС на основе конечного автомата. Почему больной? Потому что уж очень мудрёно получается: всё-таки реализация автоматов на ПЛИС – дорогая практика в смысле ресурсов. Почему хочу поделиться? Потому что вишенкой на торте в этом проекте является автоматическая генерация кода с помощью такого мощного средства, как HDL Coder в MATLAB, что в купе со Stateflow очень интересно смотрится: создание железного кода на основе графического составления графа системы – ни это ли верх мечтаний разработчика, которому необходимо реализовать сложнейший граф с кучей разных переходов и условий ?!
https://habr.com/ru/companies/etmc_exponenta/articles/585342/
Алгоритмы и Структуры данных
Лучший способ выбора случайной точки в круге
Допустим, вам нужно найти случайную точку с равномерным распределением в круге. Как же это сделать лучше всего? Когда я впервые начал изучать эту задачу, я работал над программным проектом, требовавшим случайного распределения значений в круге, но довольно быстро я спустился в неожиданно глубокую кроличью нору, заполненную любопытной математикой, поэтому решил объединить все свои находки в одну статью.
https://habr.com/ru/articles/583838/
Алгоритмы и Структуры данных
«Так ты хочешь кролика или нет?»: как простая автоматизация общения в Авито может принести вдвое больше лидов
В этой статье мы поговорим о программировании чат-ботов, об особенностях ведения бизнеса на АВИТО, а также немного о ботовой этике и эстетике. Текст будет интересен тем, кто является владельцем или открывает свой интернет-магазин, тем, кто сомневается, что чат-бот может быть этичным и удобным решением как для покупателя, так и для продавца.
https://habr.com/ru/companies/chatapp/articles/777872/
Алгоритмы и Структуры данных
Увлекательный лексический анализ языка Rust
Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока лексическим анализом.
Эта статья ориентирована на читателей, только начинающих пробовать свои силы в лексическом анализе Rust. Поэтому, пожалуйста, помните о целевой аудитории, прежде, чем сетовать: «хм, да я тут на коленке набросал поиск в таблице, и он работает в десять раз лучше, чем это недоразумение» и «с такими временами жизни я сам до завершения программы не доживу».
https://habr.com/ru/companies/piter/articles/777680/
Алгоритмы и Структуры данных
Инженерный калькулятор на C++. Часть 2: Алгоритм сортировочной станции
В прошлой части мы научились разбивать исходное математическое выражение формата (log2(18)/3.14)*sqrt(0.11^(-3)/0.02)на токены. На выходе мы получаем массив токенов, каждый их которых содержит информацию о типе (оператор, скобка, число, ...) и об ассоциативности, если он таковую имеет.
Теперь мы хотим привести выражение к виду обратной польской записи (RPN), чтобы затем удобно его посчитать. Это нам позволяет сделать изобретенный Эдсгером Дейкстрой алгоритм сортировочной станции.
https://habr.com/ru/articles/777368/
Алгоритмы и Структуры данных
Инженерный калькулятор на C++. Часть 1: Токенизатор математических выражений
В этой части мы рассмотрим создание простейшего парсера (токенизатора) на базе конечного автомата, который будет разделять исходное выражение на части: числовые литералы, операторы, функции и т.п.
Зачем это нужно? Обработка математического выражения в том виде, в котором оно есть, весьма неудобно - ведь операторы имеют приоритет, скобки этот приоритет меняют, а есть еще и функции, а унарное отрицание - так вообще ужас... Получается неудобно. Чтобы эту проблему решить, были придуманы Обратная польская запись (RPN) и Алгоритм сортировочной станции, позволяющий обычную запись выражения (ее также называют инфиксной) преобразовать в RPN (она является постфиксной). О них речь пойдет в следующей части.
https://habr.com/ru/articles/769812/
Алгоритмы и Структуры данных
Как Windows 11 уменьшила размер кумулятивных обновлений на 40%
Раз в месяц Microsoft выпускает кумулятивное обновление Windows, которое включают в себя все предыдущие. То есть для приведения системы в актуальное состояние требуется установка единственного апдейта.
Учитывая огромное количество исправлений в Windows, кумулятивное обновление без оптимизации может сильно вырасти в размере, что неприемлемо. Например, его не смогут скачать пользователи с медленным подключением к интернету, а только в США таких 20%. Поэтому уменьшение размера обновлений — приоритетная задача. Теперь для неё нашлось решение.
https://habr.com/ru/companies/globalsign/articles/587714/
Алгоритмы и Структуры данных
Шифры замены и табличного гаммирования
В данной работе рассматриваются шифры замены и табличного гаммирования. Читателю предлагается поучаствовать в процессе решения несколько задач из области защиты информации.
https://habr.com/ru/articles/583616/
Алгоритмы и Структуры данных
Как посчитать синус быстрее всех
Несмотря на свою кажущуюся банальность, темы о вычислении синуса достаточно регулярно появляются на хабре. И каждый раз их авторы или делают сомнительные утверждения, или получают сомнительные результаты. Не в силах более терпеть, я тоже решил поучаствовать и внести свой, не менее сомнительный вклад в этот вопрос.
https://habr.com/ru/companies/ruvds/articles/584460/
Алгоритмы и Структуры данных
Как работает распознавание лиц? Разбор
Среднестатистический человек может идентифицировать знакомое лицо в толпе с точностью 97,53%. Вы скажете, это немало и будете правы. Но это ничто по сравнению с современными алгоритмами, которые добились точности 99,8% еще в 2014 году. А в последние несколько лет они достигли практически совершенства! Современный алгоритм, использующийся в камерах видеонаблюдения в Москве способен обрабатывать 1 миллиард изображений менее чем за полсекунды с точностью близкой к 100%.
https://habr.com/ru/companies/droider/articles/568764/
Алгоритмы и Структуры данных
Показатели работы биометрических алгоритмов
Допустим новый пользователь хочет зарегистрироваться в системе. Сначала он на личном (мобильный телефон, планшет) или на стационарном (биометрический киоск) устройстве вводит предварительные данные: возможно ФИО, выдуманное имя-nickname (может, например, использоваться в программах лояльности), номер телефона, и т.д. Затем происходит формирование биометрического образца, в случае с использованием лицевой биометрии – по фотографии, по кадру съемки.
https://habr.com/ru/companies/nspk/articles/582810/
Алгоритмы и Структуры данных
Эффективное геометрическое хеширование пространства признаков для быстрого точного поиска наиболее близких дескрипторов
При решении задачи распознавания лиц в компании Оксаджайл (Oxagile) был разработан новый алгоритм эффективного геометрического хеширования пространства лицевых признаков с целью быстрого поиска двух наиболее близких по косинусному расстоянию лицевых дескрипторов. Разработанный алгоритм обладает той же точностью, что и метод простого перебора и, в то же время, он приблизительно в сто раз быстрее. С более подробным описанием алгоритма можно познакомиться в англоязычном оригинале настоящей статьи.
https://habr.com/ru/articles/582708/
Алгоритмы и Структуры данных
Какова вероятность найти слово fuck в случайной последовательности из 20 букв?
Однажды на работе возник вопрос — насколько вероятно, что в случайно сгенерированном идентификаторе (отдаваемом пользователю, к примеру) вдруг обнаружится плохое слово. Приблизительная оценка была дана достаточно быстро, а вот точное решение — уже не так тривиально.
Я решил всерьёз выяснить, чему равна эта вероятность в зависимости от длины случайной строки? Можно ли получить явную математическую формулу для ответа? Что, если взять другое слово? Что, если взять другой алфавит?
Обо всём по порядку.
https://habr.com/ru/articles/510554/
Алгоритмы и Структуры данных
Четыре способа оптимизации ПО
Преждевременная оптимизация может оказаться корнем всех зол, а запоздалая — корнем безысходности. Каким бы быстрым ни становилось аппаратное обеспечение, мы находим способы писать медленные программы. И зачастую проявляется это не сразу. Пользователи могут годами не обращать внимания на проблему в производительности ПО, пока она не становится очевидной, что порой происходит в течение одного дня.
https://habr.com/ru/companies/ruvds/articles/775868/
Алгоритмы и Структуры данных
Рейкастинг в игровых 2D-движках
На мой взгляд, рейкастинг — великолепная концепция, понять которую не так сложно, но качественных ресурсов по ней очень мало. Я расскажу о математике, лежащей в её основе, чтобы вы при желании с лёгкостью могли реализовать её в своих будущих проектах. Постараюсь сделать объяснение как можно более понятным, рассказать о всех тонкостях и проблемах, с которыми вы можете столкнуться. Также мы поговорим об оптимизации и о том, как сильно вам могут помочь пространственные хэш-карты. Ещё я напишу простые интерактивные примеры, с которыми вы сможете поэкспериментировать. Учтите, что демо написаны максимально простым образом, не ожидайте увидеть в них код уровня энтерпрайза — мы изучаем саму концепцию, а не реализацию.
https://habr.com/ru/articles/578110/
Алгоритмы и Структуры данных
Моя любимая задача для собеседований по программированию
В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
https://habr.com/ru/companies/ruvds/articles/775570/
Алгоритмы и Структуры данных
Очень сложные Крестики-Нолики
Доброго времени суток, когда вы в последний раз играли в крестики-нолики? Вопрос действительно важный, не удивляйтесь, всё окажется гораздо хитрее чем вы думали. Полагаю что давно, хорошо, вспомните поле которое вы рисовали на бумаге: 3x3? 5x5? А что вы скажете насчёт 19x19? "Долго будем играть!" - и это только часть проблемы. Если вы крайне дотошный игрок в крестики-нолики и не можете позволить себе проиграть младшему брату в такую игру, то вы конечно попытаетесь анализировать положение поля, пред рассчитать шаги брата и выбрать наилучший. Ход мыслей отличный, однако это вполне несложно на маленьких полях, а вот 19 на 19... Именно такая задача встала передо мной в ходе хакатона от компании Тинькофф - написать бота для игры в крестики-нолики на доске 19x19 с поиском самого лучшего хода за небольшое время (на вход поступает состояние всей доски на данный момент - на выход также вся доска с новой фигурой).
https://habr.com/ru/articles/776270/
Алгоритмы и Структуры данных
ChatGPT как объект манипуляций. ИИ на сегодня совсем не уверен в себе. На примере гипотезы о том, что Луна — полая
Это короткая статья, в которой сначала я приведу мнение ChatGPT по поводу того, что луна это полая сфера. Он уверен что Луна НЕ полая.
И после нескольких словесных манипуляций его мнение меняется. Он уже не уверен и считает что Луна вполне может быть и полой. Манипуляции это просто наводящие вопросы и подсовывание доказательств на основе собственных ответов ChatGPT.
Вот с чего ИИ начал: "Гипотеза о пустоте внутренней части Луны противоречит данным, полученным от различных космических миссий "
А вот к чему пришел: "В настоящее время отсутствуют непреложные доказательства, подтверждающие или опровергающие полую структуру Луны."
https://habr.com/ru/articles/776076/
Алгоритмы и Структуры данных
erid: LjN8K1N2x
🚀Какой программист не любит быстрого отклика!
👉Узнайте больше о скорости в С 27 ноября в 20:00 мск на бесплатном вебинаре онлайн-курса «Программист С» — «Хеш-таблицы на С. Метод цепочек»: регистрация
✅На вебинаре вас ждёт обзор, сравнение и вопросы применения алгоритмов построения хеш-таблиц. Пример реализации метода цепочек на С:
1. Общее описание хеш-таблиц. Проблемы при реализации.
2. Метод пробирования (рехеширования)
3. Метод цепочек
4. Применение хеш-таблиц
✅Результат вебинара: слушатели смогут описать методы построения хэш-таблиц, их особенности и возможности применения для конкретных задач. Смогут написать шаблонное приложение для собственной реализации хэш-таблиц.
👉После вебинара вы сможете продолжить обучение на курсе со скидкой Чёрной пятницы, в том числе, в рассрочку
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
И снова о генеалогических деревьях
Когда в очередной раз автора охватило желание собрать всю информацию по своим родственникам, я стал подробно смотреть на доступные инструменты. Основное, что предлагается широкому потребителю, это книги с выделенными листами под того или иного родственника. Надо ли говорить, что никакую структуру родства описать таким образом не получится, и максимум что можно в такой формат уместить, это, пожалуй, только родители, дети, бабушки, дедушки и браться с сестрами. Иными словами, непосредственные родственники, а для прародителей и каких-нибудь двоюродных теть такой формат уже не подходит совсем, – степень родства придется описывать словами, и вместо структуры получится каша.
https://habr.com/ru/articles/775910/
Алгоритмы и Структуры данных
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
