Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Výška binárny strom v jazyku Java

Efektívne dátové štruktúry optimalizovať výkon danej programu tým , že uľahčuje pre program nájsť dáta, ktoré potrebuje . Binárne vyhľadávacie stromy sú jedným z najefektívnejších dátových štruktúr pre vyhľadávanie v usporiadanej množine dát . Nech už je váš dátová štruktúra je organizovaná binárny vyhľadávací strom , alebo štandardný binárny strom , môžete nájsť výšku stromu v Jave pomocou jednoduchého rekurzívne funkcie . Stromová štruktúra

binárny strom sa skladá z radu vzájomne prepojených uzlov . Každý uzol má medzi nula a dve podriadené uzly . Každý uzol s výnimkou koreňového uzla má presne jeden základný uzol . Koreňový uzol nemá žiadne nadradené uzly . Java nemá zabudovaný binárny strom triedu , ale môžete si vytvoriť vlastné od začiatku , alebo si stiahnuť niektorú z internetu .
Strom Výška

výška binárny strom je maximálny počet uzlov , a to vrátane koreňového uzla , pozdĺž jednej vertikálnej priechod cez binárneho stromu . Napríklad , binárny strom s iba jeden uzol bude mať výšku nula . Binárny strom s jedným koreňový uzol s dvoma podriadené uzly by mať výšku jedného . Ak jeden z týchto podriadených uzlov mala svoj vlastný podriadený uzol , strom bude mať výšku tri .
Teória

Najjednoduchší spôsob , ako určiť výšku z binárny strom v Jave je s rekurzívne metódou . Táto metóda prijíma jeden uzol ako argument a vráti výšku binárneho stromu pod uzla argumentu . Táto metóda sa volá raz pre každý z podriadených uzlov argumentu uzla a uloží výsledok ako celočíselné premenné . Porovnáva dve premenné , ktoré predstavujú výšku každej zo svojich detí , dodáva , kto väčšia z dvoch premenných a vráti výsledok . Ak uzol argument odovzdaný do metódy je null , vráti metóda negatívne .
Algoritmus

Ďalšia metóda Java bude výpočet výšky binárneho stromu . Prijíma koreňový uzol binárneho stromu ako argument . Prípadne môžete prejsť iný uzol binárneho stromu do metódy nájsť výšky stromu pod týmto uzlom . Nasledujúci kód predpokladá , že každý uzol binárneho stromu je typu " BinaryTreeNode " a každý uzol obsahuje metódy , ktoré vracajú ľavej a pravej deti tohto uzla s názvom " getLeftChild " a " getRightChild . "

private int findHeight ( BinaryTreeNode currentNode ) { if ( currentNode.equals ( null ) ) { return -1 ; } int leftHeight = findHeight ( currentNode.getLeftChild ( ) ) ; int rightHeight = findHeight ( currentNode.getRightChild ( ) ) ; int greatestHeight = Math.max ( leftHeight , rightHeight ) , návrat greatestHeight ; }

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené