algorithm- все статьи тега ➜ страница 4


Генерация всех перестановок данной строки

что такое элегантный способ найти все перестановки строки. Е. Г. ba, будет ba и ab, а как насчет abcdefgh? Есть ли пример реализации на Java? ...

Постоянное Амортизированное Время

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

Сравнение изображений-быстрый алгоритм

Я хочу создать базовую таблицу изображений, а затем сравнить любые новые изображения с этим, чтобы определить, является ли новое изображение точным (или близким) дубликатом базы. например: если вы хотите уменьшить хранение одного и того же изображения в 100 раз, вы можете сохранить одну его копию и предоставить ссылки на нее. Когда вводится новое изображение, вы хотите сравнить его с существующим, чтобы убедиться, что оно не является дубликатом ... идеи? одна из моих идей заключалась в том, ч ...

Как построение кучи может быть o (n) временной сложностью?

может кто-нибудь помочь объяснить, как можно построить кучу сложности O(n)? вставка элемента в кучу составляет O(log n), и вставка повторяется n / 2 раза (остальные являются листьями и не могут нарушать свойство кучи). Итак, это означает, что сложность должна быть O(n log n), Я думаю. другими словами, для каждого элемента мы "heapify", он имеет потенциал, чтобы отфильтровать один раз для каждого уровня для кучи до сих пор (который является log n уровни.) чего мне не хватает? ...

Почему это лучше, чем быстрая сортировка сортировка слиянием?

Я задал этот вопрос во время интервью. Они оба O (nlogn), и все же большинство людей используют Quicksort вместо Mergesort. Почему? ...

Какой самый быстрый способ получить значение π?

Я ищу самый быстрый способ получить значение π, как личный вызов. Более конкретно, я использую способы, которые не связаны с использованием #define константы как M_PI, или жесткого кодирования в количество. программа ниже проверяет различные способы, которые я знаю. Встроенная версия сборки, в теории, самый быстрый вариант, хотя и не портативный. Я включил его в качестве базового для сравнения с другими версиями. В моих тестах, со встроенными,4 * atan(1) версия является самым быстрым на GCC 4.2 ...

Большой-О для восьмилетних детей? [дубликат]

этот вопрос уже есть ответ здесь: что такое простое английское объяснение обозначения" Big O"? 38 ответов Я спрашиваю больше о том, что это значит для моего кода. Я понимаю концепции математически, мне просто трудно обернуть голову вокруг того, что они означают концептуально. Например, если чтобы выполнить операцию O(1) над структурой данных, я понимаю, что количество операций, которые она должна выпол ...

Получить случайное число, сосредоточенное на центре

можно ли получить случайное число от 1-100 и сохранить результаты в основном в диапазоне 40-60? Я имею в виду, что он будет выходить из этого диапазона редко, но я хочу, чтобы он был в основном в этом диапазоне... Возможно ли это с помощью JavaScript / jQuery? сейчас я просто использую basic Math.random() * 100 + 1. ...

Когда это практично, чтобы использовать поиском в глубину (DFS) и против поиска в ширину (поиск в ширину)?

Я понимаю различия между DFS и BFS, но мне интересно знать, когда более практично использовать один над другим? может ли кто-нибудь привести какие-либо примеры того, как DFS будет превзойти BFS и наоборот? ...

Что такое инвариант цикла?

Я читаю" введение в алгоритм " CLR. и авторы говорят об инвариантах цикла, в главе 2 (сортировка вставки). Я понятия не имею, что это значит. ...

Наиболее эффективный алгоритм для реверсирования битов (от MSB - >LSB до LSB - >MSB) в C [закрыто]

каков наилучший алгоритм для достижения следующего: 0010 0000 => 0000 0100 преобразование из MSB->LSB в LSB - >MSB. Все биты должны быть обращены; то есть, это не endianness-замена. ...

Как определить, находится ли точка в 2D треугольник?

есть простой способ определить, находится ли точка внутри треугольника? Это 2D, а не 3D. ...

Учитывая число, найдите следующее более высокое число, которое имеет тот же набор цифр, что и исходное число

Я только что разбомбил интервью и сделал почти нулевой прогресс по моему вопросу интервью. Может кто-нибудь дать мне знать, как это сделать? Я пробовал искать в интернете, но ничего не смог найти: учитывая число, найти следующий более высокий номер, который имеет то же самое набор цифр исходного числа. Например: учитывая 38276 возврат 38627 Я хотел начать с нахождения индекса первой цифры (справа), который был меньше, чем те цифра. Затем я бы повернул последние цифры в подмножестве так ...

Как найти K-й самый большой элемент в несортированном массиве длины n в O (n)?

Я считаю, что есть способ найти K-й самый большой элемент в несортированном массиве длины n в O(n). Или, возможно, это" ожидаемый " O(n) или что-то еще. Как мы можем это сделать? ...

Можно ли получить все аргументы функции как один объект внутри этой функции?

в PHP есть func_num_args и func_get_args, есть ли что-то подобное для JavaScript? ...

Пропустить список и бинарное дерево поиска

Я недавно наткнулся на структуру данных, известную как пропустить. Похоже, что он имеет очень похожее поведение на двоичное дерево поиска. Почему вы хотите использовать список пропусков над двоичным деревом поиска? ...

массивы JavaScript.сортировать реализацию?

какой алгоритм делает JavaScript Array#sort() используйте функцию? Я понимаю, что он может принимать всевозможные аргументы и функции для выполнения различных видов сортов, мне просто интересно, какой алгоритм использует сортировка ванили. ...

Уникальные (неповторяющиеся) случайные числа в O (1)?

Я хотел бы генерировать уникальные случайные числа между 0 и 1000, которые никогда не повторяются (т. е. 6 не появляется дважды), но это не прибегает к чему-то вроде поиска O(N) предыдущих значений, чтобы сделать это. Это возможно? ...

Алгоритм нахождения наибольшего простого множителя числа

каков наилучший подход к вычислению наибольшего простого множителя числа? Я думаю, что наиболее эффективным будет следующее: найти наименьшее простое число, которое делит чистоплотных проверьте, является ли результат деления простым если нет, найдите следующий самый низкий перейти к 2. я основываю это предположение на том, что легче вычислить малые простые множители. Это примерно так? Какие еще подходы, которые я должен изучить? Edit: теперь я понял, что мой подход бесполезен, если в игре ...

Выбор случайного элемента из набора

Как выбрать случайный элемент из набора? Меня особенно интересует выбор случайного элемента из a HashSet или LinkedHashSet, в Java. Решения для других языков также приветствуется. ...