Речник АТД
        Log файлове
        Нареден речник АТД
        Lookup таблици
        Двоично търсене
        Сравнение на прости реализации на нареден речник АТД
    
Речник АТД
| Function | Input | Output | Description | 
| size() | - | Integer | Връща броя на елементите на D. | 
| isEmpty() | - | Boolean | Проверява дали D е празен. | 
| elements() | - | Iterator of objects
            (elements) | Връща елементите, записани в
            D. | 
| keys() | - | Iterator of objects (keys) | Връща ключовете, записани в D. | 
| find(k) | Object k (key) | Position | Ако D съдържа член с ключ, равен на k, връща позицията
            на този член. Ако не, връща nullposition. | 
| findAll(k) | Object k (key) | Iterator of Positions | Връща итератор от позициите
            на всички членове, чийто ключове са равни на k. | 
| insertItem(k,e) | Objects: k (key) and e (element) | - | Вмъква двойка с ключ k и елемент e в D. | 
| removeElement(k) | Object k (key) | - | Премахва член с ключ равен на
            k от D. Ако в D няма такъв член се
            генерира грешка (error condition). | 
| removeAllElements(k) | Object k (key) | - | Премахва всички двойки с ключове равни на k от D. | 
| Operation | Output | Dictionary | 
| insertItem(5,A) insertItem(7,B) insertItem(2,C) insertItem(8,D) insertItem(2,E) find(7) find(4) find(2) findAll(2) size() removeElement(5) removeElement(5) removeAllElements(2) find(2) findAll(2) | - - - - - p(B) "nullposition" p(C) or p(E) p(C),p(E) 5 - "error" - "nullposition" "empty iterator" | {(5,A)} {(5,A),(7,B)} {(5,A),(7,B),(2,C)} {(5,A),(7,B),(2,C),(8,D)} {(5,A),(7,B),(2,C),(8,D),(2,E)} {(5,A),(7,B),(2,C),(8,D),(2,E)} {(5,A),(7,B),(2,C),(8,D),(2,E)} {(5,A),(7,B),(2,C),(8,D),(2,E)} {(5,A),(7,B),(2,C),(8,D),(2,E)} {(5,A),(7,B),(2,C),(8,D),(2,E)} {(7,B),(2,C),(8,D),(2,E)} {(7,B),(2,C),(8,D),(2,E)} {(7,B),(8,D)} {(7,B),(8,D)} {(7,B),(8,D)} | 
| Operation | Input | Output | Description | 
| element() | - | Object (element) | Връща псевдоним на елемента
            от двойката на тази позиция. | 
| key() | - | Object (key) | Връща константен псевдоним на ключа от двойката на тази позиция. | 
| isNull() | - | Boolean | Връща true, ако
            това е nullposition. | 
LINEAR
        search with FLAMENCO dance 
    
Пример: 
        позиции: 0 1 2 3 4 5 6 7 8 9
        ключове: 2 3 3 4 4 4 5 7 9 9
closestBefore(5)
              -> позиция 6, ключ 5
                      closestBefore(4) -> позиции 3, 4 или 5, ключ 4
                              closestBefore(6) -> позиция 6, ключ 5
                            
      closestAfter(5)
                                  -> позиция 6,
                                            ключ 5
                                          closestAfter(4)
                                    -> позиции
                      3, 4 или 5, ключ 4
                    closestAfter(6)
                                    -> позиция 7, ключ 7
      

| Function | Log File | Lookup Table | 
| size(),
              isEmpty() | O(1) | O(1) | 
| keys(),
              elements() | O(n) | O(n) | 
| find(key) | O(n) | O(log n) | 
| findAll(key) | O(n) | O(log n
                + s) | 
| insertItem(key,
              element) | O(1) | O(n) | 
| removeElement(key) | O(n) | O(n) | 
| removeAllElements(key) | O(n) | O(n) |