Публикации по теме 'algorithms'


Запускайте программы C++ быстрее
Запускайте программы C++ быстрее В следующей статье описываются простые (почти легкие) методы повышения производительности вашего приложения C++. Вы можете использовать все описанные методы одновременно, что значительно сократит конечное улучшение (время выполнения). Первый способ связан с параллельным выполнением алгоритмов STL (с использованием доступных ядер ЦП). Параллельное выполнение было введено в C++17. В настоящее время C++20 предлагает 4 различных политики, которые вы..

Многопоточность — жизненный цикл потока, объединение потоков(), потоки демона
Жизненный цикл потока В Java поток проходит четыре состояния в течение своего жизненного цикла: - Новый - Работает - Ожидание — [Заблокировано, Ожидание, Ожидание по времени] - Не работает Новый — когда поток создан и готов к использованию. Это состояние, когда мы еще не начали поток. Выполняется — поток переходит в это состояние после того, как мы его запустили. Поток выполняет свою задачу в этом состоянии Ожидание — состояние ожидания соответствует трем сценариям..

инвертировать бинарное дерево | Ржавчина
Напишите функцию, которая принимает двоичное дерево и заменяет каждый левый узел в дереве соответствующим правым узлом. мы должны переставить каждый узел на его относительную противоположную сторону , мы могли бы просто рекурсивно вызывать функцию перестановки во всех узлах левого и правого узлов, пока не достигнем конца дерева. Функция swap заменяет левый узел правым и правый узел левым узлом . Как только мы достигаем узла, мы сначала вызываем функцию подкачки, а затем..

Понимание наивного байесовского алгоритма
Наивные байесовские алгоритмы относятся к контролируемым алгоритмам машинного обучения, которые в основном используются для задач классификации. Он не подходит для задач регрессии. Реализация этого алгоритма основана на знаменитой теореме Байеса , названной в честь английского статистика Томаса Байеса, внесшего значительный вклад в теорию вероятностей. Алгоритмы наивного Байеса решают проблемы в режиме реального времени и могут легко обрабатывать разреженные данные. Этот..

Небольшой вкус классического ИИ: решение задач поиска
Узнайте, как решать поисковые задачи системным и общим способом В широкой области искусственного интеллекта есть захватывающая ветвь задач поиска в пространстве состояний , которая наполнена всеми вашими любимыми головоломками: Судокус , скользящие пазлы , также известные как 8-пазлы, 15-пазлы, …, Ханойская башня (рекурсивные воспоминания лекций, кто-нибудь?), задача сортировки блинов , которую мы используем в качестве примера позже, n проблема ферзей и многое другое...

Что такое модель или алгоритм k-ближайших соседей?
ПРИМЕЧАНИЕ. все данные и рисунки в этом посте сделаны с использованием numpy и matplotlib . Обзор k -NN — это простой, но эффективный алгоритм обучения с учителем , который используется для задач классификации и регрессии. Это непараметрический метод, что означает, что он делает прогнозы на основе сходства точек входных данных с их ближайшими соседями (NN). Принцип работы k -NN заключается в том, что похожие точки данных принадлежат одному и тому же классу...

Решение Leetcode 20: Допустимые скобки в JavaScript
Проблема: Учитывая строку s , содержащую только символы '(' , ')' , '{' , '}' , '[' и ']' , определите, допустима ли входная строка. Входная строка действительна, если: Открытые скобки должны быть закрыты однотипными скобками. Открытые скобки должны быть закрыты в правильном порядке. Пример 1: Input: s = "()" Output: true Пример 2: Input: s = "()[]{}" Output: true Пример 3: Input: s = "(]" Output: false Первое, что я собираюсь сделать,..