Я очень далек от математики, но хотел бы получить совет от знающих людей.Лучший способ найти небольшую группу чисел в большой группе
Представьте себе большую группу чисел от 1 до 1 экзабайт.
В этой группе мы должны найти небольшую скрытую группу из 1000 чисел (без пробелов) с начальной точкой от 1 петабайт, скажем так.
Я понимаю, что группа большая и, вероятно, нет способа найти координаты этой небольшой группы.
Но ..
Как мне нужно пробовать сканировать большую группу, чтобы получить хотя бы один номер из небольшой группы?
Мне ясно, что тест случайных чисел - это худший способ.
Остается еще один вариант.
Возьмите 1 Эксабайт и разделить это число каждый раз, постепенно и для тестирования Groupe координат каждый раз:
- 1 эксабайт/3 -> мы будем иметь 3 координаты, чтобы проверить, добавив результат 1 каждый раз.
- 1 экзабайт/4 -> мы проверим 4 координаты, добавив результат в 1 каждый раз.
- ....
Есть ли лучший способ? Может быть, псевдокод или код в C?
P.S. Я не могу объяснить проблему подробно.
Я еще не упомянул, что могу увеличить размер небольшой группы. От 1000 до 1000000 (например), но его сложнее вычислить для компьютера. И с вашей помощью: случайное решение + увеличение небольшой группы, похоже, сейчас является хорошим выбором.
** Спасибо всем за ваши идеи **
Если значения отсортированы, я думаю, вы можете попытаться использовать двоичный поиск. Вы ищете конкретные значения? – Dinesh
Да, меня интересуют цифры в небольшой группе. Если хотя бы один из моих тестовых координат попадает в любое число в небольшой группе - я сразу же узнаю, что нашел эту группу. – user3306780
Является ли «маленькая» группа, которую вы ищете, гарантированно будет доступна в «большой» группе? И ваш вопрос в том, где он? – alk