Substitucni metoda

Garett at 2009-06-22 14:29:34

Ahoj, pořád si nějak nejsem jistej s dokazováním složitosti přes substituční metodu :oops: . Mohla by mi nějaká dobrá duše prozradit jak se má v správně postupovat v tomto příkladu?

substitucni metodou dokazte ze slozitost T(n)=3T(n/3)+T(2n/3)+bn
je O(N^2)

Předem díky

waseq123 at 2010-06-09 15:05:36

Ahoj,
jenom nástřel:

  1. musíš vědět (uhodnout) složitost -- v tomto případě ano

  2. pak jdeš na to indukcí
    Aspoň tak je to na Čepkovo slajdech. Snad to bude k něčemu. :wink:

kolage at 2010-07-02 12:05:24

Taky jsem to dlouho hledal a myslim ze jsem nasel jak na to...

Pokud je rekurentni rovnice typu T(n) = T(n/2) + 2T(n/3) + O(n<sup>2</sup>) , neboli T(n) = sum od 1 do k (T(a<sub>i</sub>*n) + theta(n<sup>d</sup>) tak vezmeme x jako reseni rovnice sum od 1 do k (a<sub>i</sub><sup>x</sup>) = 1 a pokud je:

  1. x <> d --> T(n) = theta(n<sup>max{x,d}</sup>)

  2. x = d --> T(n) = theta(n<sup>d</sup>*log n)

Je to takova rozsirena verze master theoremu, pak se klasicky odhad vezme a dokaze substitucni metodou. Nasel jsem to na nejakych strankach a zkousel jsem, ze to funguje, tak snad to nekomu pomuze :wink: