Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorte triedu predstavujú strom . Všetko kód bude spadať do tejto triedy a kontrolovať , ako sa strom funkcie :
>>> trieda BinaryTree :
2
Zadajte dátumy strom v triede . V tejto konkrétnej triedy , môžete definovať strom ako zoznam Python . Zoznam v binárnom stromu začína počiatočné veľkosti 50 :
. . . _TREM = [ -1 ] * 50
3
Vytvorte funkciu insert . Táto funkcia využíva jednoduchý matematický určiť vkladacie body . To bude kontrolovať každé miesto . Ak miesto obsahuje záporné číslo ( -1 ) , potom miesto je prázdna a vloží . Ak nie , je to presunie na ďalšie miesto . Vloženie do binárneho stromu , znamená to , že menšie hodnoty budú pohybovať na " ľavom " uzla ( 2i + 1 , kde " i " je aktuálny index zoznamu ) a vyššie hodnoty budú pohybovať na " pravej " uzla ( 2i +2 ) :
. . . def vložka ( vlastné , hodnota ) : . . . index = 0. . . zatiaľ čo self._tree [ index ] > = 0 : . . . ak hodnota > self._tree [ index ] : . . . index = ( 2 * index ) + 1. . . else : . . . index = ( 2 * index ) + 2. . . self._tree [ index ] = hodnota
4
Vytvoriť vyhľadávacie funkcie . Funkcie vyhľadávania sa bude správať podobne ako funkcia vložky , ale bude kontrolovať iba v prípade , že hodnota existuje vo stromu :
. . . def vyhľadávania ( vlastné , hodnota ) : . . . index = 0. . . zatiaľ čo self._tree [ index ] > = 0 : . . . ak self._tree [ index ] == Hodnota : . . . vráti hodnotu True . . . vráti False