Warning
This page is located in archive. Go to the latest version of this course pages.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
courses:b6b36pjc:ukoly:flatset [2018/12/18 00:13]
horenmar Autoupdate to version 9c79607
courses:b6b36pjc:ukoly:flatset [2018/12/31 12:50]
jerabma7 Autoupdate to version 9f1ab748bf98
Line 59: Line 59:
     // Smaže všechny prvky z [from, to), vrátí iterátor k dalšímu prvku     // Smaže všechny prvky z [from, to), vrátí iterátor k dalšímu prvku
     iterator erase(const_iterator from, const_iterator to);     iterator erase(const_iterator from, const_iterator to);
-    // Iterátory předané dovnitř erase odkazují dovnitř setu.    +    // Iterátory předané dovnitř erase odkazují dovnitř setu.
  
     // Smaže prvek rovný klíči pokud existuje.     // Smaže prvek rovný klíči pokud existuje.
Line 137: Line 137:
 kontrola funkcionality během vývoje, zatímco testy ze sady "​full"​ pak kontrola funkcionality během vývoje, zatímco testy ze sady "​full"​ pak
 jsou ty testy, na kterých bude váš flatset kontrolován v Brute. jsou ty testy, na kterých bude váš flatset kontrolován v Brute.
- 
  
 ==== Porovnání prvků ==== ==== Porovnání prvků ====
Line 172: Line 171:
 </​code>​ </​code>​
  
 +
 +==== Range constructor ====
 +
 +Range constructor,​ tj. ''​flat_set(Iterator first, Iterator last)'',​ by měl mít
 +algoritmickou složitost O(N * log N). Pokud ho implementujete pomocí range
 +insertu, získáte ve výsledku insertion sort, který má složitost kvadratickou.
 +Vhodným postupem může být prvky zkopírovat,​ setřídit a odstranit duplicity (máme
 +set, ne multiset).
  
 ==== Užitečné hlavičky ==== ==== Užitečné hlavičky ====
Line 191: Line 198:
 | Základní funkcionalita ​                             | 2.5  | | Základní funkcionalita ​                             | 2.5  |
 | Správné zacházení s referencemi ​                    | 0.5  | | Správné zacházení s referencemi ​                    | 0.5  |
-| Správná algoritmická složitost operací ​             | 0.5  |+| Správná algoritmická složitost operací((Vyžaduje optimalizovaný range constructor)) ​             | 0.5  |
 | Optimalizovaný insert dle kategorie iterátorů ​      | 0.5  | | Optimalizovaný insert dle kategorie iterátorů ​      | 0.5  |
 | Optimalizovaný konstruktor dle kategorie iterátorů ​ | 0.5  | | Optimalizovaný konstruktor dle kategorie iterátorů ​ | 0.5  |
courses/b6b36pjc/ukoly/flatset.txt · Last modified: 2018/12/31 12:50 by jerabma7