У меня с Владимиром Грыговым очень серьезная проблема.
В нашей работе мы сейчас работаем над очень сложным алгоритмом, который использует ограничения для определения конкретного результата.
Алгоритм очень тяжел, и после двух месяцев работы мы обнаружили действительно серьезную проблему.Наша команда аналитиков посоветовала мне решить эту проблему.
Сначала я расскажу вам проблему, которую необходимо решить в определенных пределах: у нас в базе данных очень много данных.Ec INT_MAX.Для каждого из этих данных мы должны отсортировать их по алгоритму на две группы, и одна должна иметь интерпретацию красного цвета, а вторая должна быть синей.
Алгоритм считает с полем ID, которое является некоторым значением AUTO_INCREMENT.Для этого значения мы проверяем, равно ли это значение 1. Если да, это данные красного цвета.Если это ноль, это синие данные.Если это больше.Затем, вы должны вычесть номер 2 и проверить еще раз.
После большого метода мозгового штурма мы выбрали метод for for loop, но это было очень медленно для большого числа.Итак, мы хотели убрать цикл, и моя коллега сказала мне использовать рекурсию.
Я так и сделал.Но ... после реализации я получил неизвестную ошибку для больших целых чисел и, например, long long int, и после него было написано, что: "Исключение переполнения стека"
Из этого я решил написать здесь, потому что IDE сказал мнеНазвание этой страницы, поэтому я думаю, что здесь может быть ответ.
Большое спасибо.Все вы.