Якщо я розумію ваші визначення, це можна зробити в лінійний час з постійним простором. Це, очевидно, найнижча межа, тому що нам потрібно хоча б прочитати весь вхід.
Відповідь, дана в цьому питанні, задовольняє.
Це неможливо запустити з меншим часом або простором, а додавання додаткового часу або простору марно, тому тут немає простору між часом та простором. (Зауважте, що , тому компроміс, який ви спостерігали, ні в якому разі не має асимптотики.)n=O(n/k)
З точки зору вашого загального питання, я не знаю жодної приємної теореми, яка допоможе вам довести компроміси в просторі та часі. Це питання, схоже, вказує на відсутність (відомої) простої відповіді. В основному:
Припустимо, деяка мова вирішується за час (використовуючи деяку кількість простору) та s простір (використовуючи деяку кількість часу). Чи можемо ми знайти f , g таким, що L визначається за M, який працює у f ( t , s ) час та g ( t , s ) просторі?tsf,gLMf(t,s)g(t,s)
невідомо, і сильна відповідь вирішила б багато відкритих проблем (особливо це стосується SC), маючи на увазі, що не існує простого рішення.
EDIT: Гаразд, з повторенням (але я все-таки припускаю, що при введенні розміру максимально можливе число - n + 1 ).nn+1
Зауважте, що наш алгоритм повинен вміти розрізняти принаймні можливих відповідей. Припустимо, при кожному проходженні даних ми можемо отримати максимум k фрагментів даних. Тоді нам знадобляться п / к пропуски для диференціації всіх відповідей. Припустимо, що k = n / s, тоді ми біжимо в nnkn/kk=n/sчас. Тому я думаю, що це доводить те, чого ти хочеш.nn/sn=sn
Складність полягає в тому, що ми показуємо, що кожен раз через нас отримують лише біт. Якщо ви припускаєте, що наша єдина юридична операція =, то ми добрі. Однак якщо ви дозволите більш складні операції, ви зможете отримати більше інформації.k