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

Ako vykonať binárny strom pomocou Pascal

Binárne stromy môžu vytvárať stavebné kamene efektívneho vyhľadávania a triedenia algoritmy a to preto , že majú široké uplatnenie v informatike . Ako Pascal má podporu pre evidenciu a typy ukazovateľ , môžete elegantne implementovať binárne stromy v ňom . Použite svoj ​​program , Pascal ako základ binárne haldy prioritné fronty , alebo upraviť podporu akejkoľvek porovnateľných údajov . Pokyny dovolená 1

Otvorte nový Pascal súbor v textovom editore alebo IDE
2

Pridať nasledujúci riadok do súboru : . Programu bintree ;

3

Zadajte nasledujúce časť kódu do editora definovať základné typy pre binárny strom : TypeBinTree = ^ uzlov ; Node = Recordi : integer ; L , R : BinTree ; end ;
4

skopírujte nasledujúci do editora postaviť prázdny strom : funkcia MakeTree : BinTree , beginMakeTree : = nilend ;
5

Umiestnite nasledujúci zdrojový kód do súboru pre testovanie strom prázdnoty : Funkcia IsEmptyTree ( B : BinTree ) : Boolean ; beginIsEmptyTree : = ( B = nil ) ; end ;
6

zahrnúť nasledujúce riadky v skripte na výstavbu podriadený uzol s danou celočíselnou hodnotou : funkcie MakeNode ( I: integer ) : BinTree ; Varres : BinTree ; beginNew ( Res ) , Res ^ I: . = I; Res ^ L : = MakeTree ; Res ^ R : . = MakeTree ; MakeNode : . = Res ; end ;
7

Pridať tieto riadky , ako uvoľniť strom z daného koreňového uzla : Postup DeallocateTree ( var B : BinTree ) ; beginif nie IsEmptyTree ( B ) , potom beginDeallocateTree ( B ^ L. ) ; DeallocateTree ( B . ^ R ) ; Dispose ( B ) , endend ,
8

Položte ďalšie časti kódu do súboru vložiť danú hodnotu do svojej objednaný umiestnenie v binárnom stromom . Postup InsertInTree ( Aj : integer ; var B : BinTree ) ; beginif IsEmptyTree ( B ) thenB : ... = MakeNode ( I) else if Aj < B ^ Aj thenInsertInTree (I, B ^ L ) elseInsertInTree (I, B ^ ) end R ;
9

Pridajte nasledujúci zdrojový kód prehľadať strom pre danú hodnotu : funkcia FindInTree ( S : integer ; B : BinTree ) : Boolean ; beginif IsEmptyTree ( B ) thenFindInTree : = Falseelse ak S < , B ^ Aj thenFindInTree : = FindInTree ( S , B ^ L. ) else if B ^ Aj < S thenFindInTree : = FindInTree ( S , B ^ R ) . iný beginFindInTree : .. = Trueendend ;
10

Vložiť ďalší postup do Pascal programu vidieť obsah stromu v triedenom poradí : postup PrintTree ( B : BinTree ) ; beginif nie IsEmptyTree ( B ) , potom beginPrintTree ( B ^ L. ) ; writeln ( B ^ . I) ; PrintTree ( B ^ R ) endend ;
11

Pridať tieto posledné riadky súboru až do konca programu Pascal : . beginend
.

Najnovšie články

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