Portál AbcLinuxu, 13. května 2025 19:18
class TNode: term, subNodes, data = None, (), None def __init__(self, data): self.data=data #vlastni pismeno self.subNodes=() #ntice poduzli self.term=None #ukoncovaci terminal class tri: ############################# def __init__(self): """ Inicializace """ self.root=self.addNode('#') ############################ def add(self, word): """ Prida slovo do slovniku """ curNode=self.root for letter in word: notInTree=True for i in curNode.subNodes: if i.data==letter: notInTree=False index=i break if notInTree: temp=list(curNode.subNodes) temp.append(self.addNode(letter)) curNode.subNodes=tuple(temp) index=curNode.subNodes[-1] curNode=indexOvsem i pri pouziti teto struktury, nactu-li vice nez 350 000 slov tak se pamet zabrana programem vysplha na nejakych cca 100MB. Napadlo by nejake vhodne efektivni reseni? Jenom doplnim ze s pythonem vice mene zacinam, ale s timto problemem jsem stravil uz mnoho drahoceneho casu, tak mne to nedalo abych se nezeptal. Dekuji za odpoved Pepa H.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.