Вопросы с тегом «algorithm»

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

18
Алгоритм для обнаружения пересечения двух прямоугольников?
Я ищу алгоритм, чтобы определить, пересекаются ли два прямоугольника (один под произвольным углом, другой только с вертикальными / горизонтальными линиями). Тестирование, если угол одного находится в другом, ПОЧТИ работает. Сбой, если прямоугольники образуют крестообразную форму. Кажется хорошей идеей избегать использования наклонов линий, что потребовало бы особых случаев для вертикальных линий.

23
Реализуйте стек с использованием двух очередей
Аналогичный вопрос был задан ранее там , но здесь вопрос обратный, используя две очереди в качестве стека. Вопрос... Учитывая две очереди с их стандартными операциями ( enqueue, dequeue, isempty, size), реализовать стек с его стандартными операциями ( pop, push, isempty, size). Должно быть две версии решения. Версия A : стек …

17
Лучший способ рандомизировать массив с помощью .NET
Как лучше всего рандомизировать массив строк с помощью .NET? Мой массив содержит около 500 строк, и я хотел бы создать новый Arrayс такими же строками, но в случайном порядке. Пожалуйста, включите в свой ответ пример C #.
142 c#  .net  algorithm  sorting  random 

5
Поворот точки вокруг другой точки (2D)
Я пытаюсь сделать карточную игру, где карты разветвляются. Прямо сейчас, чтобы отобразить его, я использую Allegro API, который имеет функцию: al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X ,Y,DEGREES_TO_ROTATE_IN_RADIANS); так что с этим я могу легко сделать эффект вентилятора. Проблема в том, что вы знаете, какая карта находится под мышью. Чтобы сделать это, я подумал о проведении …
139 c++  algorithm 

13
Учитывая строку из миллиона чисел, верните все повторяющиеся трехзначные числа
Несколько месяцев назад у меня было собеседование с хедж-фондом в Нью-Йорке, и, к сожалению, я не получил предложения о стажировке в качестве инженера по данным / программному обеспечению. (Они также попросили, чтобы решение было на Python.) Я в значительной степени облажался с первой задачей собеседования ... Вопрос: Учитывая строку из …

5
Как реализовать очередь из трех стеков?
Я столкнулся с этим вопросом в книге алгоритмов ( Алгоритмы, 4-е издание Роберта Седжвика и Кевина Уэйна). Очередь с тремя стеками. Реализуйте очередь с тремя стеками, чтобы каждая операция очереди занимала постоянное (в худшем случае) количество операций стека. Предупреждение: высокая степень сложности. Я знаю, как сделать очередь с 2 стеками, …

2
Почему оптимальные оценщики λ-исчисления способны вычислять большие модульные возведения в степень без формул?
Церковные числа представляют собой кодирование натуральных чисел как функций. (\ f x → (f x)) -- church number 1 (\ f x → (f (f (f x)))) -- church number 3 (\ f x → (f (f (f (f x))))) -- church number 4 Аккуратно, вы можете возвести в степень …

8
Как выбрать между хеш-таблицей и Trie (префиксным деревом)?
Так что, если мне придется выбирать между хеш-таблицей или деревом префиксов, каковы различающие факторы, которые заставили бы меня выбрать один из других. С моей наивной точки зрения кажется, что использование trie имеет некоторые дополнительные издержки, поскольку оно не хранится в виде массива, но что с точки зрения времени выполнения (при …

4
Какой алгоритм параллельной сортировки имеет лучшую среднюю производительность?
Сортировка занимает O (n log n) в последовательном случае. Если у нас будет O (n) процессоров, мы будем надеяться на линейное ускорение. O (log n) параллельных алгоритмов существуют, но они имеют очень высокую константу. Они также не применимы к обычному оборудованию, у которого нет даже около O (n) процессоров. С …

7
Почему временная сложность как DFS, так и BFS O (V + E)
Базовый алгоритм для BFS: set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its not visited load into queue mark vertex Поэтому я бы подумал, что временная сложность будет такой: v1 + (incident edges) + v2 + (incident edges) …

14
Как сделать Zip-бомбу?
Этот вопрос о zip-бомбах естественным образом привел меня на страницу Википедии соответствующей теме . В статье упоминается пример zip-файла размером 45,1 КБ, который распаковывается до 1,3 эксабайта. Какие принципы / методы будут использованы в первую очередь для создания такого файла? На самом деле я не хочу этого делать, меня больше …

27
Домашнее задание пузырьковой сортировки
В классе мы разрабатываем алгоритмы сортировки, и хотя я прекрасно понимаю их, когда говорю о них и пишу псевдокод, у меня возникают проблемы с написанием для них реального кода. Это моя попытка на Python: mylist = [12, 5, 13, 8, 9, 65] def bubble(badList): length = len(badList) - 1 unsorted …

4
Структура данных для загруженных игральных костей?
Предположим, что у меня есть n-сторонний загруженный кубик, где каждая сторона k имеет некоторую вероятность p K приходить, когда я раскатать. Мне любопытно, есть ли хороший алгоритм для статического хранения этой информации (то есть для фиксированного набора вероятностей), чтобы я мог эффективно моделировать случайный бросок кубика. В настоящее время у …

7
Что такое хорошая хеш-функция?
Что такое хорошая хеш-функция? Я видел много хэш-функций и приложений на моих курсах по структурам данных в колледже, но в основном я понял, что создать хорошую хеш-функцию довольно сложно. Мой профессор сказал, что, как правило, чтобы избежать столкновений: function Hash(key) return key mod PrimeNumber end (mod - это оператор% в …

12
Как проверить, полностью ли строка состоит из одной и той же подстроки?
Мне нужно создать функцию, которая принимает строку, и она должна возвращать trueили в falseзависимости от того, состоит ли ввод из повторяющейся последовательности символов. Длина данной строки всегда больше, 1а последовательность символов должна иметь как минимум одно повторение. "aa" // true(entirely contains two strings "a") "aaa" //true(entirely contains three string "a") …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.