příklady reálného světa stromové struktury

hlasů
12

Dívám se na některé příklady stromové struktury, které se používají v komerčních / softwarových projektech zdarma, moderní i staré. Vidím příklady na Wikipedii, ale jsem hledal více konkrétních příkladech a jak jsou zvyklí. Například primární klíče v databázi jsou (z toho, co jsem četl) uložené v BST struktury nebo variaci BST (klidně mě opravte na toto téma)

Moje otázka se neomezuje Binární vyhledávací stromy (BSTs), může zahrnovat jakoukoli změnu, jako je červená, černá, AVL a tak dále.

Položena 23/02/2009 v 14:37
zdroj uživatelem
V jiných jazycích...                            


17 odpovědí

hlasů
6

Databázové indexy jsou obvykle uloženy jako variamts z B * stromy, které navzdory svému názvu nejsou binární stromy.

Odpovězeno 23/02/2009 v 14:40
zdroj uživatelem

hlasů
31

Je to v pořádku, pokud uvedené příklady jsou jen tad bit generické tedy souvisí s grafy a ne nutně na stromy? Pokud ano, čtěte dál.

  • Netřeba dodávat, že většina XML / značkovací analyzátory použít například stromy. Viz Apache Xerces např. Nebo Xalan XSLT parser. Díky mathewsdave26 za připomenutí!

  • PDF je formát založený strom. To má rootuzel následovaný cataloguzel (tyto jsou často stejné) následované pagesuzlu, který má několik podřízené pageuzly. Výrobci / spotřebitelé často používají vyváženou implementaci stromu uložit dokument do paměti.

  • Počítač šachové hry budovat obrovský strom (učební), které prořezávat za běhu pomocí heuristiky, aby bylo dosaženo optimální tah.

  • Světlice je vizualizační knihovna napsaná v AS. Možná budete chtít podívat na to, jak jsou datové objekty mapované. Zejména flare.analyticsbalení silně používá strukturu graf, kostry atd

  • Sociální sítě je aktuální módní slovo v CS výzkumu. Je samozřejmé, že připojení / vztahy jsou velmi přirozeně modelovat pomocí grafů. Často, stromy jsou používány reprezentovat / identifikovat více zajímavých jevů. Jak si odpovědět na otázky typu „Ví Harry a Sally mít žádný společný přítele (y)?“

  • Některé velmi úspěšné fyzika / hry motory stavět stromy přesně simulovat lidský pohyb. Strom v tomto případě bude typicky odpovídat souboru opatření; Kontext určí, které cesta je přijata k tomu, aby konkrétní reakci.

  • Rozhodnutí Tree Learning založený vlastně tvoří impozantní oblast dolování dat výzkumu. Četné proslulé metody existují jako pytlování, zvyšování a jejich nezbytné úpravy, které pracují na stromech. Taková práce je často používán k vytvoření předpovědního modelu.

  • Častým problémem v bioinformatiky je hledat obrovské databáze najít zápasech za daný řetězec dotazu. Pokusy jsou běžným jevem tam.

  • Poměrně málo úspěšných (akciové) obchodníci používají rozhodovací stromy v jejich každodenní obchodování - vybrat si obchod ukončit jeden. Často tito nejsou kodifikovány v počítačovém programu, ale napsáno někde v zadní části svého notebooku.

Napálit. Viz toto a toto .

Odpovězeno 23/02/2009 v 14:40
zdroj uživatelem

hlasů
11

B v indexu databáze B * stromy stojí za vyvážený, ne Binary. Strom je udržována na stejné hloubky, aby bylo zajištěno rovnoměrné přístupové časy.

Odpovězeno 23/02/2009 v 14:44
zdroj uživatelem

hlasů
1

Podíváme-li se některý z produktů Datawarehousing uvidíte chytré způsoby ukládání a vrtání do rozměrů stromu tvaru. Získáte stromovou strukturu pro umístění (země, region, stát, kraj, město m, etc) a času (rok, měsíc, den, hodina). Tyto dva rozměry jsou běžné v mnoha oblastech, ale hodně jiný reálný svět data také hodí ke stromu.

Například v maloobchodním prodeji potravin, u kořene stromu byste mohli mít potraviny, které mohou přejít do mléka a mléčných výrobků, ovoce a zelenina atd. Po jednom vlákně byste mohli mít. Konzervy fazolí, na nejvyšší úrovni budete mluvit do nákladních vozů, pak budete přijít se palet, beden, velikosti cínu. To vše různých SKU (stock udržování jednotek) jsou s někým v obchodě nebo společnosti důležité. Pak různé druhy fazolí, různí dodavatelé, výrobci - všechny příklady stromy stejného rozměru.

Všechny různé produkty tvoří masivní strom, s různými způsoby krájení a dicinng.

Odpovězeno 23/02/2009 v 14:53
zdroj uživatelem

hlasů
1

C ++ obsahuje řadu sbírek (set, multi_set, mapy, multi_map), které jsou obvykle implementovány jako červeno-černé stromy, jakési vyváženého stromu.

(C ++ standardní výslovně nevyžaduje tuto realizaci, ale jedná se o nejjednodušší design, který splňuje požadavky na složitost.)

Odpovězeno 23/02/2009 v 15:01
zdroj uživatelem

hlasů
0

V mém projektu, editační a započtení systém pro průzkum / sčítání dat, používáme binární rozhodovací strom rozhodnout, jaké proměnné záznamu přičítat ani nepočítá. Binární rozhodovací strom nám umožňuje efektivně rozhodovat o tendencích na stromě bychom měli a neměli brát.

Myslím, že tento přístup (i když možná ne jen binární stromy) se používá v aplikacích umělé inteligence, stejně

Odpovězeno 23/02/2009 v 15:30
zdroj uživatelem

hlasů
5

Binární stromy byly použity pro Space Paritioning a Hidden odstraňování povrchových na 3D hry starý, jsem přesvědčen, že jeden byl použit ve hře Doom.

Odpovězeno 23/02/2009 v 15:59
zdroj uživatelem

hlasů
1

V router / switch místo, kde jsem kdysi pracoval jsme použili spoustu stromové struktury, pro tabulku software trasy jsme použili radix stromu (docela obyčejná volba pro směrovací tabulky IP).

Naše implementace OSPF využil červeno-černé stromy , naše implementace BGP využil skiplists .

Technicky skiplists nejsou stromové struktury, ale oni jsou v praxi velmi podobné a jsou opravdu cool.

Rozhodně jsme použili hromady dost stejně přemýšlet o tom, je to už dlouho, co jsem tam pracoval.

Odpovězeno 26/02/2009 v 14:13
zdroj uživatelem

hlasů
1

DNS dotazy .. cokoliv pomocí mapy používá AVL

Odpovězeno 02/03/2009 v 22:49
zdroj uživatelem

hlasů
1

System.Collections.Generic.SortedList <T> používá binární vyhledávací strom jako základní implementace. Totéž platí pro System.Collections.GenericSortedDictionary <T> . Libovolný kód pomocí SortedList <T> nebo SortedDictionary <T> používá binární vyhledávací strom.

Odpovězeno 03/03/2009 v 17:35
zdroj uživatelem

hlasů
4
  • Napsat jednoduchý rekurzivního sestupu analyzátor, a mají generovat derivační strom.

  • Bill-Of-struktury materiálu použitého při výrobě (jako je automobil sestává z podsestav, rekurzivně, až do matice a šrouby).

  • Symbol tabulka (jak je používán v kompilátoru).

  • Účtový rozvrh, jak je používán v oblasti projektového řízení. Celkový projekt dílčích projektů, na které mohou být aplikovány poplatky.

  • Organizační struktura společnosti: divize, oddělení, atd.

  • Obsah pro dokument.

  • Potomci osoby, předkové člověka.

  • Jakékoli lisp s exprese, včetně jakékoliv Lisp programu.

Odpovězeno 03/03/2009 v 18:59
zdroj uživatelem

hlasů
7
  • Váš souborový systém je stromová struktura. Tak podívejte se na zdroje na jakékoli volné souborového systému.

  • Váš kompilátor generuje AST ze zdrojového kódu, jako mezistupeň. Tak podívejte se na zdroje na jakékoli volné kompilátor.

Odpovězeno 03/03/2009 v 19:14
zdroj uživatelem

hlasů
0

Používáme stromovou strukturu modelovat klasifikace součástí systému. Díly jsou zařazeny do ‚tříd‘, které mají rodičovské třídy a tak dále. třídy nejvyšší úrovně řídit text na kartách v našem katalogu UI. Třídy jsou také použity k nastavení pravidel pro stanovování cen, jaké ‚hot spots‘ na vozidle, kde jsou části zobrazeny v ‚konfigurátor‘, atd modelovat strom v SQL pomocí vnořených sad Joe Čelko a nahrát je na vyžádání do paměti pro lepší výkon. Mezi nejčastější dotazy děláme, jsou ‚kdo jsou moji potomci‘ a ‚je tato třída předchůdce dolu?‘

velmi užitečné

Odpovězeno 03/03/2009 v 19:19
zdroj uživatelem

hlasů
3

Auto-kompletní funkce softwaru (např. Vyhledávače „návrhy“, IDE dokončení typ / symbolů, jmen a e-mailová adresa kniha, atd) jsou často realizovány jako pokusech, které jsou stromové struktury.

Odpovězeno 03/03/2009 v 21:31
zdroj uživatelem

hlasů
0

Tam je treap implementován v jazyce ActionScript. Prameny:

Treap je součástí rámce AS3Commons sbírek . Modifikovaný treap se používá k sobě přiložených SortedSet a SortedMap sbírky.

Odpovězeno 05/02/2010 v 09:36
zdroj uživatelem

hlasů
0

Klasifikace objektů obecně se velmi často provádí pomocí stromů. A velmi často, graf by bylo mnohem vhodnější než strom, ale strom nabízí dvě velké výhody oproti grafu:

  • To může být reprezentován jako (vnořené) seznamu. Například, že je mnohem snazší ukázat velký strom na papíře (s tituly, titulky, odstavců a vnořené seznamy), nebo na obrazovce počítače, než grafu.
  • Můžete odkazovat na položku ve stromu pomocí jednoduchého řetězec cesty (nebo svazek), například „http / StackOverflow.com / Users / Dimitri C“, což je mnohem těžší udělat v grafu.
Odpovězeno 05/02/2010 v 09:43
zdroj uživatelem

hlasů
0

Vžijte se jako kořen stromu a nyní učinit své rodiče jako děti stromu a rodičů rodičů jako jejich děti stromu, a to může vytvořit úplnou případ použití stromu.

Tak se provádí něco, kde je kompletní hierarchii rodiny vyžadují, můžete použít strom realizovat to.

Odpovězeno 29/04/2018 v 17:48
zdroj uživatelem

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