Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BinFa:
- def __init__(self, ertek):
- self.ertek = ertek
- self.bal = None
- self.jobb = None
- def __str__(self):
- return "balreszfa:{} jobbreszfa:{}".format(self.bal, self.jobb)
- import math
- def beszur(gyoker, ertek):
- if gyoker is None:
- gyoker = BinFa(ertek)
- elif ertek < gyoker.ertek:
- gyoker.bal = beszur(gyoker.bal, ertek)
- elif ertek > gyoker.ertek:
- gyoker.jobb = beszur(gyoker.jobb, ertek)
- else:
- pass
- return gyoker
- def binfa_elemszam(gyoker):
- if gyoker is None:
- return 0
- return (binfa_elemszam(gyoker.bal)+ binfa_elemszam(gyoker.jobb)+ 1)
- def binfa_osszeg(gyoker):
- if gyoker is None:
- return 0
- x=binfa_osszeg(sum(gyoker.bal))+binfa_osszeg(sum(gyoker.jobb))
- return x
- def inorder(gyoker):
- if gyoker is None:
- return
- inorder(gyoker.bal)
- print(gyoker.ertek, end=" ")
- inorder(gyoker.jobb)
- def main():
- tesztadat = [15, 96, 34, 12, 14, 56, 21, 11, 10, 9, 78, 43]
- gyoker = None
- for x in tesztadat:
- gyoker = beszur(gyoker, x)
- inorder(gyoker)
- print("Elemek szรกma:",binfa_elemszam(gyoker))
- print(binfa_osszeg(gyoker))
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement