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 Ak chcete nastaviť binárny vyhľadávací strom v Pythone

Binárne vyhľadávacie stromy sú jedným zo základných abstraktných dátových typov koncipovaných v programovaní . Prostredníctvom binárneho vyhľadávacieho stromu , môžete definovať základnú štruktúru pomocou vstupných a vyhľadávacích algoritmov , ktoré robí vyhľadávanie a získavanie informácií ľahké a systematické . Vzhľadom k tomu , že je " abstraktné " dátový typ , môžete ju vykonať v nejakej forme vo väčšine ľubovoľnom programovacom jazyku , vrátane Pythonu . Vytvorenie triedy predstavujú strom , môžete ľahko vytvoriť jednoduchý binárny vyhľadávací strom . Veci , ktoré budete potrebovať
Python interpret
Zobraziť ďalšie inštrukcie Cestuj 1

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

Najnovšie články

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