Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 10. 08. 2017 02:54

kocourOggy
Příspěvky: 30
Pozice: student
Reputace:   
 

odvození tvrzení: binární halda s n prvky má floor(log n) + 1 hladin

Zdravím,
mám potíž s odvozením počtu hladin pro x prvkovou binární haldu.

Jde celkem hezky vykoukat, že nová hladina přibude pokaždé, když počet vrcholů dosáhne mocniny dvojky. Jakmile je počet vrcholů např. 4, 5, 6, nebo 7, tak jsem stále v 2. hladině. V okamžik, kdy přidávám 8. vrchol, tak musím přidat i novou hladinu. Z toho se snadno vykouká, že pro výpočet počtu hladin je nutné použít log(x) v dolní celé části. Problém je, že když se to pokouším ukázat trochu formálněji, tak nějak se nemůžu dobrat cíle.

Definice dolní celé části:
$(\lfloor x \rfloor = m \Leftrightarrow m \le x < m+1), kde\ m\in \mathbb{Z}\ x\in \mathbb{R}$

Vím, že binární strom s h hladinami (zcela zaplněnými) má 2^0 + 2^1 + ... + 2^(h-1) = 2^h - 1 prvků (viz součet geometrické posloupnosti).
Tedy maximální počet vrcholů v binárním stromě o h hladinách je: 2^h - 1
Dále minimální počet vrcholů v binárním stromě o h hladinách je: 2^(h-1) (zaplněno mám zcela h-1 hladin + jeden vrchol leží v h-té hladině).

Tedy    2^(h - 1) <= x  <= 2^h - 1
           2^(h - 1) <= x  < 2^h       // zlogaritmujeme
           h-1          <= log(x) < h

Přijde mi, že jsem spíš vyrobil hybrida pro horní celou část. Dokázal by mi někdo prosím říct, kde je chyba?

Offline

  • (téma jako vyřešené označil(a) kocourOggy)

#2 10. 08. 2017 04:53

jarrro
Příspěvky: 5490
Škola: UMB BB Matematická analýza
Reputace:   303 
Web
 

Re: odvození tvrzení: binární halda s n prvky má floor(log n) + 1 hladin

$h-1\leq \log{\(x\)}<h\Leftrightarrow h-1=\left\lfloor\log{\(x\)}\right\rfloor\Leftrightarrow h=\left\lfloor\log{\(x\)}\right\rfloor+1$


MATH IS THE BEST!!!

Offline

 

#3 10. 08. 2017 10:18

kocourOggy
Příspěvky: 30
Pozice: student
Reputace:   
 

Re: odvození tvrzení: binární halda s n prvky má floor(log n) + 1 hladin

↑ jarrro:

Děkuju! :)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson