Где я могу найти сложность времени и пространства встроенных типов последовательности в Python

Модель разрешения Firebase позволяет пользователю получить доступ к данным, к которым вы явно разрешаете доступ. Поскольку в ваших правилах безопасности вы предоставляете доступ только к /users/$uid, пользователь не может читать из root /. Документация Firebase описывает это в разделе «rules cascade» .

Кажется, вы хотите использовать правила безопасности для фильтрации данных, что невозможно в модели безопасности Firebase. См. Раздел «Правила не являются фильтрами» в документации Firebase, а также эти предыдущие вопросы и ответы:

Самое простое решение - разрешить чтение узла users:

{
    "rules": {
        "users": {
            ".read": "auth !== null && auth.provider === 'password'"
        }
    }
}

И затем запросить на этом уровне:

getData(ref.child("users"));

17
задан Jeremy Banks 14 July 2010 в 21:51
поделиться

3 ответа

Контроль страница TimeComplexity на py отмечает точкой org Wiki. Это покрывает set/dicts/lists/etc, по крайней мере, насколько временная сложность идет.

18
ответ дан 30 November 2019 в 12:08
поделиться

Raymond D. Hettinger делает превосходный разговор ( слайды ) о встроенных наборах Python, названных 'Базовые Контейнеры Python - Под Капотом'. Версия, которую я видел сфокусированный главным образом на set и dict, но list, была покрыта также.

существуют также некоторые фотографии подходящих слайдов от EuroPython в [1 113], блог .

Здесь является сводкой моих примечаний по list:

  • объекты Хранилищ как массив указателей. Нижний индекс стоит O (1) время. Добавьте амортизируемый O затрат (1) время. Вставьте затраты O (n) время.
  • Старается избегать memcpy при росте путем сверхвыделения. Много маленьких списков потратят впустую много пространства, но большие списки никогда не тратят впустую больше, чем приблизительно 12,5% к сверхвыделению.
  • Некоторый операционный предварительный размер. Данные примеры были range(n), map(), list(), [None] * n, и разрезание.
  • При уменьшении, массив realloc редактор только, когда он тратит впустую 50% пространства. pop является дешевым.
14
ответ дан 30 November 2019 в 12:08
поделиться

Если Ваше выяснение, что я думаю Ваше выяснение, можно найти их Здесь ... страница 476 и на.

Это записано вокруг методов оптимизации для Python; это - главным образом Нотация "большого О" эффективности времени не много памяти.

2
ответ дан 30 November 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: