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

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

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

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

1. Обзор

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

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

2. Проверка того, является ли целое число идеальным квадратом

Как мы знаем, Java предоставляет нам два типа данных для определения целого числа. Первый — это int , который представляет число в 32 битах, а другой — long , который представляет число в 64 битах. В этой статье мы будем использовать тип данных long для обработки наихудшего случая (наибольшего возможного целого числа).

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

1. Обзор

Алгоритмы сортировки общего назначения, такие как сортировка слиянием , не делают предположений о входных данных, поэтому они не могут превзойти O (n log n) в худшем случае. Сортировка подсчетом, напротив, имеет предположение о входных данных, что делает его алгоритмом линейной сортировки по времени.

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

2. Сортировка подсчетом

Сортировка подсчетом, в отличие от большинства классических алгоритмов сортировки, не сортирует входные данные путем сравнения элементов. Вместо этого предполагается, что входными элементами являются n целых чисел в диапазоне [0, k ] . Когда k = O(n), сортировка подсчетом будет выполняться за время O(n) .

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

1. Обзор

В этом уроке мы рассмотрим, как мы можем представить данные на гистограмме с помощью класса частоты Apache Commons .

Класс Frequency является частью части библиотеки Apache Commons Math, рассматриваемой в этой статье .

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

2. Зависимости проекта

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

1. Введение

В этой статье мы рассмотрим возможные способы навигации по лабиринту с помощью Java.

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

Учитывая такой лабиринт, мы хотим найти путь от входа к выходу.

2. Моделирование лабиринта

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

1. Введение

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

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

2. Бинарное дерево

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

1. Введение

В этой статье мы рассмотрим алгоритм оптимизации Multi-swarm. Как и другие алгоритмы того же класса, его цель — найти наилучшее решение проблемы путем максимизации или минимизации определенной функции, называемой фитнес-функцией.

Начнем с теории.

2. Как работает оптимизация Multi-Swarm

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

1. Обзор

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

Например, в приведенном ниже массиве выделенный подмассив имеет максимальную сумму (6):

./f6d928f1aa51e95cf3d58d61ad146c32.jpg

В этом уроке мы рассмотрим два решения для поиска максимального подмассива в массиве . Один из них мы разработаем с O(n) временной и пространственной сложностью .

2. Алгоритм грубой силы

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

1. Введение

Целью этой серии статей является объяснение идеи генетических алгоритмов и демонстрация наиболее известных реализаций .

В этом руководстве мы опишем концепцию оптимизации колонии муравьев (ACO), а затем приведем пример кода.

2. Как работает АСО

ACO — это генетический алгоритм, вдохновленный естественным поведением муравья. Чтобы полностью понять алгоритм ACO, нам необходимо ознакомиться с его основными понятиями:

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

1. Введение

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

Мы также покажем пример реализации задачи Collaborative Filtering (CF) — метода машинного обучения, используемого рекомендательными системами .

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

2. Совместная фильтрация

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

1. Обзор

Акцент в этой статье делается на задаче о кратчайшем пути (SPP), являющейся одной из фундаментальных теоретических проблем, известных в теории графов, и на том, как алгоритм Дейкстры может быть использован для ее решения.

Основная цель алгоритма — определить кратчайший путь между начальным узлом и остальной частью графа.

2. Задача о кратчайшем пути с Дейкстрой

Учитывая положительно взвешенный граф и начальный узел (A), Дейкстра определяет кратчайший путь и расстояние от источника до всех пунктов назначения в графе: