Rozdíl mezi AVL stromy a křídlaté stromy

hlasů
31

Studuji o různých stromů a narazil AVL stromů a křídlaté stromy. chci vědět

  1. Jaký je rozdíl mezi AVL stromy a křídlaté stromy?
  2. Na základě čeho vybíráme tyto kadeře?
  3. Jaké jsou pozitivní a negativní je to z těchto stromů?
  4. Jaké jsou výkony těchto stromů, pokud jde o velký O notace?
Položena 19/09/2011 v 07:12
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
3

1) Jaký je rozdíl mezi AVL stromy a křídlaté stromy?

Oni mají podobnou strukturu a operace nazýváme na ně. Rozdíl je v tom, že v křídlaté stromech, po každé operaci, snažíme se udržet strom téměř dokonale vyvážené tak, aby budoucí operace zabere méně času.

2) Na základě čeho vybíráme tyto kadeře?

Splay strom je vždy lepší než binární vyhledávací stromy, když vaše zabývá velké množství dat ve stromu aplikace, ale bude potřebovat přístup k podmnožinu dat velmi často než ostatní. V takovém případě budou data přístup k často přijde v blízkosti kořene jako důsledek rozevírá. Také každý uzel pak může být zobrazena s méně času než dříve.

Jako obecné pravidlo pro výběr těchto stromů, pokud budete potřebovat „průměrné“ log (n) v průběhu operací stromů pak použijte splay strom. Binární strom nemůže zaručit.

3) Jaké jsou pozitivní a negativní je to z těchto stromů?

Pozitiva pro oba je, že dostanete kolem log (n) v obou těchto datových strukturách teoreticky.

Jak již bylo zmíněno splay strom mají průměrný log (n) přes řadu operací. To znamená, že možná máte časovou složitost n na operaci aspoň jednou v této sadě. Ale to bude kompenzován při přístupu k časté položky.

Negativní binárního vyhledávacího stromu je, že musíte mít štěstí, že log (n) vždy. V případě, že klíče nejsou náhodné, pak strom sníží na seznam jako forma se pouze na jedné straně.

4) Jaké jsou výkony těchto stromů, pokud jde o velký O notace?

Splay strom log (n) na průměr pro skupinu operací stromů. Binární strom Log (n) pouze tehdy, pokud vaše klíče jdou náhodně.

Výsledky na běhu je zřejmý tady splay strom runtime profilování můžete vidět rozdíl runtime při hledání i bez ks rozpěrných.

Odpovězeno 18/01/2012 v 04:40
zdroj uživatelem

hlasů
61

  1. Oba splay strom a AVL stromy jsou binární vyhledávací stromy s vynikajícím výkonem zárukami, ale liší se v tom, jak dosáhnout ti zaručit, že výkon. V AVL stromu, tvar stromu je omezen v každém okamžiku tak, že tvar strom je vyvážená, což znamená, že výška stromu nikdy nepřekročí O (log n). Tento tvar je udržován na inzerce a delece, a nemění se v průběhu vyhledáváními měnit. Splay strom, na druhou stranu, udržovat účinný tím přetvářejí strom v reakci na vyhledáváními na něm. Tak často procházeli prvky pohybovat nahoru směrem k vrcholu stromu a mají lepší časy vyhledávání. Tvar křídlaté stromů není omezen, a se liší v závislosti na tom, co je vyhledávání prováděno.

  2. Neexistuje žádný tvrdý-a-rychlé pravidlo o tom. Nicméně, jeden klíčový rozdíl mezi strukturami je, že AVL stromy zaručují rychlé vyhledávání (O (log n)) na každou operaci, zatímco splay strom může zaručit, že každá posloupnost n operace trvá maximálně O (n log n) času. To znamená, že pokud budete potřebovat real-time vyhledávání, AVL strom je pravděpodobné, že bude lepší. Nicméně splay strom mají tendenci být mnohem rychleji než je průměr, takže pokud chcete, aby se minimalizovalo Celkový čas stromů vyhledáváními je splay strom je pravděpodobné, že bude lepší. Navíc splay strom podporovat některé operace, jako je rozdělení a slučování velmi účinně, zatímco odpovídající strom operace AVL jsou více zapojeni a méně efektivní. Splay strom jsou více paměti efektivnější než AVL stromy, protože oni nepotřebují k ukládání vyvážit informací v uzlech. Nicméně, AVL stromy jsou užitečné v prostředích s více podprocesy se spoustou vyhledáváními, protože je vyhledávání v AVL stromu může být provedeno současně, zatímco oni nemohou v křídlaté stromy. Vzhledem k tomu, splay strom přetvářet sami na základě vyhledáváními, pokud potřebujete získat přístup malou podmnožinu prvků stromu, nebo chcete-li přístup k některé prvky mnohem více než ostatní, splay strom bude překonat strom AVL. A konečně, splay strom bývá snazší implementovat než AVL stromy, protože logika rotace je mnohem jednodušší.

  3. Viz (2)

  4. AVL strom vkládání, mazání, a je vyhledávání se O (log n) každý. Splay strom mají tyto stejné záruky, ale záruka je pouze v zůstatkové smyslu. Každý dlouhý sled operací se nejvýše O (n log n), ale jednotlivé operace může trvat až O (n).

Snad to pomůže!

Odpovězeno 04/02/2012 v 23:06
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more