Публикации по теме 'algorithms'
Алгоритмы сортировки : сортировка выбором
(реализация JavaScript)
Сложность времени:
В худшем случае: O(n²) Это может быть немного лучше, чем сортировка пузырьком , если вы хотите свести к минимуму свопы.
Как это работает:
В отличие от пузырьковой сортировки, этот алгоритм начнет сортировку элементов в направлении начала массива, а не конца.
Для этого необходимо создать переменную, в которой будет храниться наименьшее значение и сравниваться с остальными элементами.
Если во время итерации будет найдено более..
Разработка алгоритмов тестирования, часть 2: машинное обучение
Если мы точно не знаем, что мы тестируем, как мы можем тестировать?
В моей предыдущей статье по тестированию алгоритмов я обсуждал тестирование и анализ более классических алгоритмов, таких как бинарный поиск. Хотя общее тестирование алгоритмов может быть сложным, большинство классических алгоритмов можно описать как имеющие достаточно четко определенные входы, выходы и их отношения.
В этой последующей статье я обсуждаю тестирование и анализ применительно к другому типу алгоритма,..
Оптимизация списка воспроизведения как проблема коммивояжера
Для тех, кто очень гордится своими плейлистами, мои довольно посредственны. Конечно, мне могут нравиться песни, но порядок воспроизведения оставляет желать лучшего — Pitbull и The Veronicas, безусловно, входят в один и тот же плейлист, но вам может не понравиться их лучшие хиты подряд! Это мое чрезмерно разработанное решение этой незначительной проблемы.
Мотивация
Spotify — фантастический сервис, который коренным образом изменил то, как мы находим, слушаем и делимся музыкой. Их..
Общие алгоритмы машинного обучения
Машинное обучение — это подраздел искусственного интеллекта (ИИ), который позволяет компьютерам учиться на данных и делать прогнозы или решения на основе этого обучения. Несколько общих алгоритмов машинного обучения используются в различных приложениях, в том числе:
Линейная регрессия: это алгоритм обучения с учителем, который используется для прогнозирования непрерывной переменной результата на основе одной или нескольких переменных-предикторов. Это простой подход, который предполагает..
Кто-нибудь может доказать это математически?
Кто-нибудь может доказать это математически?
Алгоритмы поиска пути
BFS, DFS (рекурсивный и итеративный), Dijkstra, Greedy и A * алгоритмы. Эти алгоритмы используются для поиска в дереве и поиска кратчайшего пути от начального узла к целевому узлу в дереве.
Вступление
Алгоритмы слепого поиска , такие как в ширину и в глубину , исчерпывают все возможности; начиная с данного узла, они перебирают все возможные пути, пока не достигнут целевого узла. Эти алгоритмы выполняются за O (V + E) или линейное время, где V - количество вершин, а E -..
Фиксированная точка в заданном массиве в Javascript
Значение, равное его индексу
Подход 1: линейный поиск
Перебрать массив и проверить, равен ли элемент своему индексу в массиве. Если это правда, верните индекс. В противном случае верните -1
Временная сложность: O(n)
Пространственная сложность: O(1)
Подход 2. Двоичный поиск
Найдите средний элемент массива Если средний элемент является фиксированной точкой, возвращает средний индекс Если индекс среднего + 1 элемент ≤ значение в верхнем индексе, ищите справа..
Новые материалы
12 сайтов с искусственным интеллектом, которые поразят вас
Приготовьтесь поразить воображение
Сегодня существует несколько веб-сайтов, использующих искусственный интеллект (ИИ). От индивидуальных рекомендаций по новостям до более умных поисковых..
Скрытый технический долг в системах машинного обучения [NeurIPS 2015]
Что такое технический долг?
Технический долг — это метафора, введенная Уордом Каннингемом в 1992 году, чтобы объяснить долгосрочные затраты, связанные с быстрым продвижением в разработке..
Алгоритм быстрой сортировки в Python
Всем привет, добро пожаловать на programminginpython.com . Здесь я покажу вам, как реализовать алгоритм быстрой сортировки в Python. В предыдущих статьях я рассмотрел Сортировку вставкой ,..
Как использовать манипулирование объектами в JavaScript
Объекты являются важным строительным блоком JavaScript. Они позволяют группировать свойства и методы вместе.
Объект представляет собой набор свойств. Свойства идентифицируются с..
Разработка игр с помощью Godot Engine: мощный инструмент с открытым исходным кодом
Разработка игр — творческий и сложный процесс, требующий множества навыков и инструментов. Одним из наиболее важных инструментов является игровой движок, который представляет собой программную..
От XML к аннотациям: переход к современной конфигурации Spring
Введение
Фреймворк Spring претерпел значительную эволюцию с момента своего создания. Одним из заметных изменений стал переход от конфигураций на основе XML к конфигурациям, управляемым..
Я люблю Руби!
Я люблю Руби! Мне это нравится по той же причине, по которой мне нравится программировать на Python. Он настолько интуитивно понятен, а встроенные методы упрощают решение проблем. Если вы..