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

109
Есть ли идеальный алгоритм для шахмат? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт в прошлом году . Уточните этот вопрос Недавно я обсуждал с человеком, не...

109
рекурсия против итерации

Можно ли сказать, что везде, где используется рекурсия, можно использовать forцикл? И если рекурсия обычно медленнее, в чем техническая причина ее использования при forповторении цикла? И если всегда можно преобразовать рекурсию в forцикл, есть ли практический способ сделать...

109
Как перевернуть односвязный список, используя только два указателя?

Интересно, существует ли какая-то логика для изменения односвязного списка с использованием только двух указателей. Ниже используется для изменения одного связанного списка с использованием трех указателей , а именно p, q, r: struct node { int data; struct node *link; }; void reverse() { struct...

109
В чем преимущество использования фильтров Блума?

Я читаю фильтры Блума, и они кажутся глупыми. Все, что вы можете сделать с помощью фильтра цветения, вы можете сделать с меньшим объемом пространства и более эффективно, используя одну хеш-функцию, а не несколько, или это то, что кажется. Зачем использовать фильтр цветения и чем он...

108
Как лучше всего получить все делители числа?

Вот самый тупой способ: def divisorGenerator(n): for i in xrange(1,n/2+1): if n%i == 0: yield i yield n Результат, который я хотел бы получить, похож на этот, но мне нужен более умный алгоритм (он слишком медленный и тупой :-) Я могу найти простые множители и их кратность достаточно быстро. У меня...

108
Подсчет инверсий в массиве

Я разрабатываю алгоритм, чтобы сделать следующее: Для заданного массива A[1... n]для каждого i < jнайти все пары инверсии, такие что A[i] > A[j]. Я использую сортировку слиянием и копирую массив A в массив B, а затем сравниваю два массива, но мне трудно понять, как я могу использовать это,...

107
Где я могу найти «полезный» алгоритм двоичного поиска C ++?

Мне нужен алгоритм двоичного поиска, совместимый с контейнерами C ++ STL, что-то вроде заголовка std::binary_searchстандартной библиотеки <algorithm>, но мне нужно, чтобы он возвращал итератор, указывающий на результат, а не простое логическое значение, сообщающее мне, существует ли элемент....

107
Совмещенная область перекрывающихся кругов

Недавно я столкнулся с проблемой, когда у меня было четыре круга (средние точки и радиус), и мне нужно было вычислить площадь объединения этих кругов. Пример изображения: Для двух кругов это довольно просто, Я могу просто вычислить долю площади каждого круга, которая не находится внутри...

107
Как найти k-й наименьший элемент в объединении двух отсортированных массивов?

Это вопрос домашнего задания. Они говорят, что принимает O(logN + logM)где Nи Mявляются длинами массивов. Назовем массивы aи b. Очевидно, мы можем игнорировать все a[i]и b[i]где i> k. Сначала сравним a[k/2]и b[k/2]. Пусть b[k/2]> a[k/2]. Поэтому мы можем отбросить и все b[i], где i> k / 2....

107
Объяснение сегментации изображений с использованием среднего сдвига

Может ли кто-нибудь помочь мне понять, как на самом деле работает сегментация среднего сдвига? Вот матрица 8x8, которую я только что составил 103 103 103 103 103 103 106 104 103 147 147 153 147 156 153 104 107 153 153 153 153 153 153 107 103 153 147 96 98 153 153 104 107 156 153 97 96 147 153 107...

106
Преобразование равномерного распределения в нормальное распределение

Как я могу преобразовать равномерное распределение (как и большинство генераторов случайных чисел, например, между 0,0 и 1,0) в нормальное распределение? Что, если я хочу выбрать среднее значение и стандартное...

106
Что может привести к тому, что алгоритм будет иметь сложность O (log log n)?

В этом предыдущем вопросе рассматриваются некоторые факторы, которые могут привести к тому, что алгоритм будет иметь сложность O (log n). Что может привести к тому, что алгоритм будет иметь временную сложность O (log log n)?...

106
Можно ли упростить (x == 0 || x == 1) в одну операцию?

Поэтому я пытался записать n- е число в последовательности Фибоначчи как можно более компактной функцией: public uint fibn ( uint N ) { return (N == 0 || N == 1) ? 1 : fibn(N-1) + fibn(N-2); } Но мне интересно, смогу ли я сделать это еще более компактным и эффективным, изменив (N == 0 || N == 1) в...

106
Как разбить текст без пробелов на список слов?

Ввод: "tableapplechairtablecupboard..." много слов Какой был бы эффективный алгоритм, чтобы разбить такой текст на список слов и получить: Вывод: ["table", "apple", "chair", "table", ["cupboard", ["cup", "board"]], ...] Первое, что приходит в голову, - это перебрать все возможные слова (начиная с...

106
Что может привести к тому, что алгоритм будет иметь сложность O (log n)?

Мои знания о big-O ограничены, и когда в уравнении появляются логарифмические термины, это еще больше меня сбивает. Может ли кто-нибудь объяснить мне простым языком, что такое O(log n)алгоритм? Откуда логарифм? Это особенно актуально, когда я пытался решить этот промежуточный практический вопрос:...

106
Максимальное количество символов при нажатии клавиш A, Ctrl + A, Ctrl + C и Ctrl + V

Это вопрос для интервью от Google. Сам не могу решить. Может кто-нибудь пролить свет? Напишите программу для печати последовательности нажатий клавиш так, чтобы она генерировала максимальное количество символов «А». Вам разрешается использовать только 4 клавиши: A, Ctrl+ A, Ctrl+ Cи Ctrl+ V....

105
Большое число массивов JavaScript

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