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

1310 записей с тегом "Java"

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

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

1. Введение

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

2. Теория сортировки ведрами

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

Давайте кратко рассмотрим шаги, необходимые для выполнения сортировки ведра :

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

1. Обзор

В этом руководстве мы рассмотрим различные способы преобразования массива байтов в шестнадцатеричную строку и наоборот.

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

2. Преобразование между байтами и шестнадцатеричными числами

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

1. Обзор

В этом уроке мы собираемся изучить шифр Цезаря, метод шифрования, который сдвигает буквы сообщения, чтобы создать другое, менее читаемое.

Прежде всего, мы рассмотрим метод шифрования и посмотрим, как его реализовать на Java.

Затем мы увидим, как расшифровать зашифрованное сообщение, если мы знаем смещение, используемое для его шифрования.

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

2. Шифр Цезаря

· 4 мин. чтения
  1. Проверка гласной с помощью метода indexOf

1. Обзор

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

В этом уроке мы рассмотрим несколько методов проверки того, является ли символ гласным. Мы могли бы легко распространить эти методы на другие группы символов.

2. Проверка гласных с помощью метода indexOf

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

1. Обзор

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

2. Итеративный подход

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

Список может быть отсортирован в естественном порядке или в пользовательском порядке. Мы рассмотрим оба этих случая, используя интерфейсы Comparable и Comparator .

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

1. Введение

Древние римляне разработали собственную систему счисления, называемую римскими цифрами. Система использует буквы с разными значениями для представления чисел. Римские цифры до сих пор используются в некоторых второстепенных приложениях.

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

2. Римские цифры

В римской системе у нас есть 7 символов, которые представляют числа :

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

1. Введение

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

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

Введение в регулярные выражения см. в нашем Руководстве по API регулярных выражений Java .

2. Обзор формата даты

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

1. Обзор

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

Поиск в глубину (DFS) — это алгоритм обхода, используемый как для структур данных Tree, так и для Graph . Поиск в глубину углубляется в каждую ветвь, прежде чем переходить к изучению другой ветви .

В следующих разделах мы сначала рассмотрим реализацию дерева, а затем графа.

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

2. Поиск в глубину дерева

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

1. Обзор

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

Мы также объясним преимущества этой реализации по сравнению с использованием интерфейса и конкретного класса для каждого состояния.

2. Перечисления Java

Java Enum — это особый тип класса, определяющий список констант. Это позволяет реализовать типобезопасную реализацию и сделать код более читаемым .

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

1. Введение

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

Обратите внимание, что предоставленные алгоритмы — не лучший способ выполнения полнотекстового поиска в более сложных приложениях. Чтобы правильно выполнять полнотекстовый поиск, мы можем использовать Solr или ElasticSearch .

2. Алгоритмы

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