Skip to content

Instantly share code, notes, and snippets.

@AdriC1705
Created April 11, 2013 14:17
import sys
def contar(cadena):
letras = dict()
for l in cadena: #l = letras en cadena
if l in letras:
letras[l] +=1
else:
letras[l] = 1
print letras
return letras
def ordenarMayor(letras):
return sorted(letras.items(), key=lambda x: x[1])
def crearNodos(ordenar):
nodovalor = []
nodos = []
print ordenar
for i in range (len(ordenar)):
nodovalor.append(ordenar[i][1])
print nodovalor
while (len(nodovalor))>1: #mayor ke la suma
z = nodovalor[0] # valor min 1
print z
a=0
for i in range (len(nodovalor)):
if nodovalor[i]<z:
z = nodovalor[i]
a = i
nodovalor.pop(a)
v = nodovalor[0] #valor min 2
print v
b = 0
for i in range(len(nodovalor)):
if nodovalor[i]<v:
v = nodovalor[i]
b = i
suma = z + v # suma de minimos
nodovalor[b] = suma ##aqui guardas los cambios
print ':O'
def main():
cadena=str(raw_input("cadena:"))
print cadena
letras = contar(cadena)
ordenar = ordenarMayor(letras)
print ordenar
nodo = crearNodos(ordenar)
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment