Quick actions

cmd+k|ctrl+k

Navigation

Languages

MaxMin

Snippet info

Language

Python

Visibility

public

Author

ppls2106

Created

2018-11-12T12:49:13Z

Updated

2018-11-12T13:32:50Z

'''
Universidade Federal do Para
Instituto de Ciencias Eaxatas e Naturais
Faculdade de Computacao - Bacharelado em Sistemas de Informacao
Disciplina: Estruturas de Dados II
Prof.: Lidio Mauro Lima de Campos
Estudante: Pedro Paulo Lisboa de Sousa      Matricula: 201711140038
'''

from random import *
import  time

def result(maximo,minimo):
	return "Maximo = %s, Minimo = %s\n" % (maximo, minimo)

def maxmin2(v):
	start = time.time()
	maximo = v[0]
	minimo = v[0]
	for i in range(1,len(v)):
		if v[i] > maximo:
			maximo = v[i]
		elif v[i] < minimo:
			minimo = v[i]
	return "MaxMin2\n" + result(maximo,minimo) + ("Tempo de execucao: %s segundos\n" % (time.time() - start))

def maxmin1(v):
	start = time.time()
	maximo = v[0]
	minimo = v[0]
	for i in range(1,len(v)):
		if v[i] > maximo:
			maximo = v[i]
		if v[i] < minimo:
			minimo = v[i]
	return "MaxMin1\n" + result(maximo,minimo) + ("Tempo de execucao: %s segundos\n" % (time.time() - start))

def maxmin3(v):
	start = time.time()
	n = len(v)
	if (n % 2) > 0:
		v.append(v[n-1])
		fimDoAnel = n
	else:
		fimDoAnel = n - 1
	if v[0] > v[1]:
		maximo = v[0]
		minimo = v[1]
	else:
		maximo = v[1]
		minimo = v[0]
	i = 2
	while i < fimDoAnel:
		if v[i] > v[i+1]:
			if v[i] > maximo:
				maximo = v[i]
			if v[i+1] < minimo:
				minimo = v[i+1]
		else:
			if v[i] < minimo:
				minimo = v[i]
			if v[i+1] > maximo:
				maximo = v[i+1]
		i += 2
	return "MaxMin3\n" + result(maximo,minimo) + ("Tempo de execucao: %s segundos\n" % (time.time() - start))

vetor = []
tamanho = 500000
for x in range(0,tamanho):
	num = randint(0,99999)
	vetor.append(num)

medio = vetor
melhor = sorted(medio)
pior = sorted(medio, reverse=True)

#Melhor caso
print("Melhor caso")
print(maxmin1(melhor))
print(maxmin2(melhor))
print(maxmin3(melhor))

#Medio caso
print("Caso Médio")
print(maxmin1(medio))
print(maxmin2(medio))
print(maxmin3(medio))

#Pior caso
print("Pior caso")
print(maxmin1(pior))
print(maxmin2(pior))
print(maxmin3(pior))
INFO