Мы пишем библиотеку для API, которая использует упорядоченный поток данных.Через этот Api вы можете делать вызовы данных по частям.Например, если я хочу элементы 15-25, я могу сделать вызов API для этого.
Библиотека, которую мы пишем, позволит клиенту также вызывать любой фрагмент данных, но мы хотим, чтобы библиотека быламаксимально эффективно с этими вызовами API, насколько это возможно.Поэтому, если я уже запросил пункты 21-30, я больше не хочу запрашивать эти отдельные элементы данных.Если кто-то спрашивает у библиотеки 15-25, мы хотим вызвать API для 15-20.Нам нужно будет найти, какие данные у нас уже есть, и избежать повторного запроса этих данных.
Какая структура данных наиболее эффективна для хранения результатов этих вызовов API?Наборы данных не будут большими, поэтому время поиска в локальной памяти не так уж и много.Мы ищем простоту и чистоту кода.Есть несколько очевидных ответов на эту проблему, но мне любопытно, есть ли у кого-нибудь из ботаников структуры данных элегантное решение, которое не приходит в голову.
Для справки мы пишем код на Python, но на самом деле просто ищемдля структуры данных, которая решает эту проблему элегантно.