¿Hay alguna diferencia con respecto al ahorro de espacio en la memoria entre un trie y un diccionario normal? en caso afirmativo, ¿hay alguna forma de contar y medir su diferencia? como cuántos bits o bytes es su diferencia.
aquí hay un ejemplo de estos dos tipos de diccionarios:
trie_dict = {'f': {'o': {'o': {'t': {'value':'to walk with'},
'l': {'value':'to teach'},
'd':{'value': 'to eat'}}}}}
normal_dict = {'foot': {'value': 'to walk with'},
'fool': {'value': 'to teach'},
'food': {'value': 'to eat'}}
Solución del problema
Este es mi intento de una mejor evaluación del tamaño total de un objeto ( dicty strsolo):
def rec_size_of(obj):
current = 0
if isinstance(obj, dict):
current += getsizeof(obj)
for k,v in obj.items():
current += getsizeof(k)
current += rec_size_of(v)
elif isinstance(obj, str):
current += getsizeof(obj)
return current
rec_size_of(trie_dict)
2315
rec_size_of(normal_dict)
1454
No hay comentarios:
Publicar un comentario