PProgramování 2 - cvičení - NMIN112 1. Úvodní informace Dotazy: ke cvičení? případně ještě k podmínkám zápočtu? k přednášce? 2. Hvězdičky pokračování (Labyrintem algoritmů) Pozorovani: měli jsme 3 meta-typy chování funkci složitosti: a) přesně spočítáme , b) aproximujem c) omezíme mezí (horší či lepší než to nebude) 2.1 Který algoritmus je lepší? 2.2 Kuchařka pro výpočet složitosti 3. Asymptotické složitosti 3.2 Definice 3.3 Příklady: Dokažte nebo vyvraťte následující tvrzení: 3.3.1 pro všechny funkce f, g: N->R+ platí: f = n^2 -6n + 4, g= (n^2), pak f(n) = O(g(n)) 3.3.2 pro všechny funkce f, g: N->R+ platí: f = n^2, g= n^3, pak f(n) = O(g(n)) 3.3.3 pro všechny funkce f, g: N->R+ platí: f = n^3, g= n^2, pak f(n) = O(g(n)) 3.3.4 pro všechny funkce f, g: N->R+ platí: f = O(g) => g = OMEGA(f) 3.3.5 pro všechny funkce f, g, h: N->R+ platí: f = O(g) & h = O(g) => f+h = O(g) 3.3.6 pro všechny funkce f, g, h: N->R+ platí: f = O(g) & h = O(g) => f.h = O(g) Převody ze soustav do soustav [110011]2 do 10 [110011]3 do 10 [3456]10 do 2 [3456]10 do 3 4. Style Guide: o čem to je? co vše se mimo jiné řeší? není to dogma, jsou to doporučení; mají svě klady i zápory; často programovacím jazykem a kulturně závislé PEP 8 – Style Guide for Python Code: https://peps.python.org/pep-0008/ Google Python Style Guide: https://google.github.io/styleguide/pyguide.html naming convention (var, fce, const, class, ..) blank lines delim, delim, line function length 5. Model view architekture