Düzgün struktur seçimi çox vaxt alqoritmin özündən vacibdir. Metod sadədir: əsas əməliyyatı tapın, məhdudiyyətlərə baxın, ən sadə hazır tipi götürün və seçimi əməliyyat sayaraq yoxlayın. Əvvəlki dərsdə ADT kataloqu verilmişdi; bu dərs onu qərar qaydasına çevirir.

Əsas əməliyyatdan struktura aparan qərar sxemi
Əsas əməliyyatdan struktura aparan qərar sxemi

Əsas əməliyyata görə seçim

Məsələni əməliyyatlara bölün: axtarış, əlavə, silmək, sıra, minimum/maksimum, aralıq sorğusu. Ən tez-tez işləyən və ən böyük n-də işləyən əməliyyat seçimi təyin edir. Sonra məhdudiyyətlərə baxın: yaddaş, dublikatlar, açarların hash olunması, sıranın vacibliyi. Əsas strukturların qiymətləri:

StrukturAxtarışƏlavəMin / sıra
listO(n)sonda O(1), ortada O(n)O(n)
çeşidli siyahıO(log n)O(n)O(1)
dequeO(n)hər iki ucda O(1)O(n)
set / dictO(1) ortaO(1) ortaO(n)
heapqO(n)O(log n)O(1)

Daha dəqiq qiymətlər: Python-un daxili mürəkkəbliyi.