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

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

12
Почему Java hashCode () в String использует 31 в качестве множителя?
Согласно документации Java, хеш-код для Stringобъекта вычисляется как: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] с использованием intарифметических операций, где s[i]это я й символ строки, nдлина строки, и ^указывает , возведение в степень. Почему 31 используется как множитель? Я понимаю, что множитель должен быть относительно большим простым числом. Так почему …
481 java  string  algorithm  hash 


5
Что такое алгоритм Hi / Lo?
Что такое алгоритм Hi / Lo? Я нашел это в документации NHibernate (это один из способов генерирования уникальных ключей, раздел 5.1.4.2), но я не нашел хорошего объяснения того, как это работает. Я знаю, что Nhibernate справляется с этим, и мне не нужно знать изнутри, но мне просто любопытно.

30
Лучший способ перевернуть строку
Я просто должен был написать функцию обратного преобразования строк в C # 2.0 (т.е. LINQ недоступен) и придумал это: public string Reverse(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length - 1; i > -1; i--) { reverse += cArray[i]; } return reverse; …

18
Как Google «Вы имели в виду?» Алгоритм работы?
Я разрабатывал внутренний веб-сайт для инструмента управления портфелем. Там много текстовых данных, названий компаний и т. Д. Я был очень впечатлен способностью некоторых поисковых систем очень быстро отвечать на запросы с помощью «Вы имели в виду: хххх». Мне нужно иметь возможность разумно принимать пользовательский запрос и отвечать не только необработанными …

25
Как обнаружить петлю в связанном списке?
Скажем, у вас есть структура связанного списка в Java. Он состоит из узлов: class Node { Node next; // some user data } и каждый узел указывает на следующий узел, за исключением последнего узла, который имеет нулевое значение для следующего. Скажем, есть вероятность, что список может содержать цикл - то …




24
Самый быстрый вид массива с фиксированной длиной 6 int
Отвечая на другой вопрос переполнения стека ( этот ), я наткнулся на интересную подзадачу. Какой самый быстрый способ сортировки массива из 6 целых чисел? Как вопрос очень низкого уровня: мы не можем предполагать, что библиотеки доступны (и сам вызов имеет свою стоимость), только простой C чтобы избежать опустошения конвейера команд …

11
Получение наиболее близкого совпадения строк
Мне нужен способ сравнить несколько строк с тестовой строкой и вернуть строку, которая очень похожа на нее: TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW CHOICE A : THE RED COW JUMPED OVER THE GREEN CHICKEN CHOICE B : THE RED COW JUMPED OVER THE RED COW CHOICE …

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

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


9
Сравнение изображений - быстрый алгоритм
Я пытаюсь создать базовую таблицу изображений, а затем сравнить с ней все новые изображения, чтобы определить, является ли новое изображение точной (или близкой) копией базы. Например: если вы хотите сократить объем хранения одного и того же изображения в 100 раз, вы можете сохранить одну его копию и предоставить ссылки на …

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