All pastes #2079874 Raw Edit

Anonymous

public text v1 · immutable
#2079874 ·published 2011-09-04 23:29 UTC
rendered paste body
from BinaryTree import *
from RedBlackTree import *
from time import time
from random import sample, randint

# Esta eh a funcao que executa os testes. "n" eh o numero de elementos que serao inseridos.

def make(n):
	arq1 = open("/home/licensed/UFRPE/bin.xls", "w")
	arq2 = open("/home/licensed/UFRPE/rbt.xls", "w")

	myNumbers = sample(range(1, n*1000), n) #Numeros que serao inseridos. A populacao eh 1000 vezes maior que a amostra
	
	binaryTreeTest = BinaryTree()
	
	cont = n/1000 #Faz com que a contagem do tempo se repita a cada 1000 elementos inseridos.

	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
		#print(binaryTreeTest)
	
	arq1.close()
	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()		
	## Para ver as arvores basta dar um print
make(100000)
    	
#	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