space complexity theory