from BinaryTree import * from RedBlackTree import * from time import time from random import sample, randint from os import path # Esta eh a funcao que executa os testes. "n" eh o numero de elementos que serao inseridos. #n = raw_input("digite multiplo de mil") #t = raw_input("1=binaria / 2=red black") #if (t == "1"): # bintree(n) #elif (t == "2"): # make.rbtree(n) make.bintree(1000) def make(n): arq1 = open(path.expanduser("~" + "/bin.xls"),"w") arq2 = open(path.expanduser("~" + "/rbt.xls"), "w") n = int(n) myNumbers = sample(range(1, n*1000), n) #Numeros que serao inseridos. A populacao eh 1000 vezes maior que a amostra def bintree(n): binaryTreeTest = BinaryTree() cont = n/1000 #Faz com que a contagem do tempo se repita a cada 1000 elementos inseridos. print cont for i in range(cont): t1 = time() for j in range(n/cont): binaryTreeTest.insertValue(myNumbers[(i*(n/cont)) + j]) t2 = time() arq1.writelines(str(t2-t1) + "\n") #Tempo de insercao em arvore binaria arq1.close() print "bintree done!" def rbtree(self): redBlackTreeTest = RedBlackTree() for l in range(cont): t3 = time() for m in range(n/cont): redBlackTreeTest.insertValue(myNumbers[(l*(n/cont)) + m]) t4 = time() arq2.writelines(str(t4-t3) + "\n") #Tempo de insercao em arvore vermelho-preto arq2.close() print "red-black tree done!" # number = randint(0,(n-1)) # # print number # # print # print myNumbers[number] # # t3 = time() # print tree.search(myNumbers[number]) # t4 = time() # # print # print tree.search(myNumbers[number]) # print # print t4-t3