Публикации по теме '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
Первое, что я собираюсь сделать,..