[Python] Determinazione altezza albero

Federico Caboni federico.caboni a python-academy.de
Gio 5 Dic 2013 15:11:05 CET


Il giorno 05/dic/2013, alle ore 11:55, Alberto Granzotto <agranzot a gmail.com> ha scritto:

> 
> On Thu, Dec 5, 2013 at 12:54 AM, Dario Bertini <berdario a gmail.com> wrote:
> >>> def height(tree):
> ...   if len(tree) == 0:
> ...     return 1
> ...   else:
> ...     return 1+max(map(height, tree))
>  
> 
> bello, molto elegante l'uso di map con la funzione ricorsiva.

Stesso algoritmo, con sintassi un po’ più compatta:

def depth(tree):
	return 1 if not tree else 1+max(map(depth, tree))

con le list comprehension:

def depth(tree):
	return 1 if not tree else 1+max([depth(t) for t in tree])

con le generator expressions (quasi uguale): 

def depth(tree):
	return 1 if not tree else 1+max((depth(t) for t in tree))

— Federico 


Maggiori informazioni sulla lista Python