Ir ao conteúdo
  • Cadastre-se

Python Sorts com lista duplamente encadeada com python


Posts recomendados

Bom dia, preciso realizar um estudo comparativo entre vários algoritmos de ordenação (bubble, count, selection, insertion, heap, merge, quick, bucket, radix), utilizando listas duplamente ligadas, o parâmetro é o tempo de execução gasto por algoritmo.

vão ser criados:

50 vetores de tamanho 100

50 de tamanho 1000

50  de tamanho 10000

50 de tamanho 100000

50 de tamanho 1000000

e contar o tempo de execução em ms e ns,

ao final tenho que gerar gráficos contendo o tempo médio de comparações.

 

gostaria de ajuda por onde começar, bons métodos ou funções do python que me auxiliem

Link para o comentário
Compartilhar em outros sites

é um desfio dos bons, eu já lí sobre isso, porém o que posso te ajudar é em mostrar como a lógica é implementada com esse vídeo

 

Para gerar gráficos tem a biblioteca Graph e te recomendo ler essa documentação: https://www.python-course.eu/graphs_python.php

 

Esse video aqui te dá outra dica boa e talvez seja a sua resposta:

 

Este video abaixo lhe mostra como iterar sobre uma lista ou várias listas e no final voce consegue obter o total de iterações para ordenar ela.

 

Sugestão, pesquisa na internet por cada um destes termos(bubble, count, selection, insertion, heap, merge, quick, bucket, radix) e voce vai montar sua resposta.

Link para o comentário
Compartilhar em outros sites

Você pode criar uma lista com X números aleatórios ou uma lista contendo outras listas dentro dela com X números aleatórios.

No Python você importa o módulo random para gerar números aleatórios.

 

Veja uma lista simples:

 

import random
lista_simples = []
for i in range(5): # Total de itens na lista
	lista_simples.append(random.randint(1, 9)) # Algarismos aleatórios de 1 até 9

print(lista_simples) # Saída na tela de uma lista com 5 algarismos aleatórios

Veja o resultado:

image.png.97c6a8d7b6500269d2c6d2ec5f8d261a.png

 

Agora uma lista que vai receber outras listas

import random
listas = []
for i in range(3): # Digo que quero apenas 3 listas
	numeros_aleatorios=[] # lista vazia que vai receber os número aleatórios
	for j in range(5): # Total de algarismos por lista
		numeros_aleatorios.append(random.randint(1, 9)) # Gero algarismos aleatórios de 1 até 9
	listas.append(numeros_aleatorios) # adiciono a lista principal as 3 listas geradas

print(listas) # Saída na tela de uma lista contendo 3 listas

Veja o resultado:

image.png.1c6f0f79c89b043df1ee31d61a55b0ea.png

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...