Перейти к основному содержимому

117 записей с тегом "Алгоритмы"

Посмотреть все теги

· 4 мин. чтения

1. Введение

В этой статье мы рассмотрим обзор библиотек искусственного интеллекта (ИИ) в Java.

Некоторое теоретическое знание ИИ было бы полезно для понимания использования этих библиотек.

ИИ — очень широкая область, поэтому мы сосредоточимся на некоторых из самых популярных сегодня областей, таких как обработка естественного языка, машинное обучение и нейронные сети . В конце мы увидим несколько интересных задач ИИ, где мы сможем попрактиковаться в понимании ИИ.

2. Экспертные системы

· 8 мин. чтения

1. Обзор

В этом руководстве мы узнаем, как реализовать проблему «производитель-потребитель» в Java. Эта проблема также известна как проблема ограниченного буфера .

Для получения более подробной информации о проблеме мы можем обратиться к вики-странице « Проблема производителя-потребителя» . Чтобы узнать об основах многопоточности и параллелизма в Java, обязательно ознакомьтесь с нашей статьей о параллелизме в Java .

2. Проблема производитель-потребитель

Производитель и потребитель — это два отдельных процесса. Оба процесса совместно используют общий буфер или очередь. Производитель постоянно производит определенные данные и помещает их в буфер, тогда как потребитель потребляет эти данные из буфера.

· 2 мин. чтения

1. Обзор

В этом коротком уроке мы увидим, как создать простую игру «Камень-ножницы-бумага» на Java.

2. Создайте нашу игру «Камень-ножницы-бумага»

Наша игра позволит игрокам вводить «камень», «бумага» или «ножницы» в качестве значения каждого хода.

Во-первых, давайте создадим перечисление для ходов:

· 11 мин. чтения

1. Обзор

В этом уроке мы рассмотрим, как мы можем перемножить две матрицы в Java.

Поскольку в языке изначально не существует понятия матрицы, мы реализуем его сами, а также поработаем с несколькими библиотеками, чтобы посмотреть, как они обрабатывают умножение матриц.

В конце мы проведем небольшой сравнительный анализ различных решений, которые мы исследовали, чтобы определить самое быстрое из них.

2. Пример

· 3 мин. чтения

1. Обзор

Учитывая неотрицательное целое число n , факториал - это произведение всех положительных целых чисел, меньших или равных n .

В этом кратком руководстве мы рассмотрим различные способы вычисления факториала для заданного числа в Java .

2. Факториал для чисел до 20

2.1. Факториал с использованием цикла for

· 8 мин. чтения

1. Введение

В этом уроке мы обсудим решение проблемы k-комбинаций в Java .

Во-первых, мы обсудим и реализуем как рекурсивные, так и итеративные алгоритмы для генерации всех комбинаций заданного размера. Затем мы рассмотрим решения с использованием распространенных библиотек Java.

2. Обзор комбинаций

Проще говоря, комбинация — это подмножество элементов из заданного множества .

· 6 мин. чтения

1. Введение

Набор — это удобный способ представить уникальную коллекцию предметов.

В этом руководстве мы узнаем больше о том, что это значит и как мы можем использовать его в Java.

2. Немного теории множеств

2.1. Что такое набор?

· 5 мин. чтения

1. Обзор

В этом уроке мы обсудим важность хеширования паролей.

Мы кратко рассмотрим, что это такое, почему это важно, а также некоторые безопасные и небезопасные способы сделать это в Java.

2. Что такое хеширование?

Хеширование — это процесс генерации строки или хэша из данного сообщения с использованием математической функции, известной как криптографическая хеш-функция .

· 11 мин. чтения

1. Введение

В этом руководстве мы узнаем, что такое неблокирующие структуры данных и почему они являются важной альтернативой параллельным структурам данных на основе блокировок.

Во- первых, мы рассмотрим некоторые термины, такие как отсутствие препятствий , отсутствие блокировки и отсутствие ожидания .

Во-вторых, мы рассмотрим основные строительные блоки неблокирующих алгоритмов, таких как CAS (сравнение и замена).

В-третьих, мы рассмотрим реализацию очереди без блокировок в Java и, наконец, обрисуем подход к достижению свободы ожидания .

2. Блокировка против голодания

· 9 мин. чтения

1. Обзор

Когда нам нужно найти или заменить значения в строке в Java, мы обычно используем регулярные выражения . Они позволяют нам определить, соответствует ли часть или вся строка шаблону. Мы можем легко применить одну и ту же замену к нескольким токенам в строке с помощью метода replaceAll как в Matcher , так и в String .

В этом руководстве мы рассмотрим, как применить другую замену для каждого токена, найденного в строке. Это упростит нам выполнение сценариев использования, таких как экранирование определенных символов или замена значений заполнителей.

Мы также рассмотрим несколько приемов настройки наших регулярных выражений для правильной идентификации токенов.

2. Индивидуальная обработка совпадений