- #1
ChrisVer
Gold Member
- 3,378
- 465
I was trying to finish the assignments of this link
https://ocw.mit.edu/courses/electri...ce-fall-2010/assignments/MIT6_034F10_lab0.pdf
unfortunately they are not numbered, but I dealt with the Tree reference one. In particular, given a tree TREE and a list of indices, it will return the appropriate subtree. My python code looks like this:
As far as I've checked this code seems to work...Are there more clear or even optimal ways to do the job? thanks.
https://ocw.mit.edu/courses/electri...ce-fall-2010/assignments/MIT6_034F10_lab0.pdf
unfortunately they are not numbered, but I dealt with the Tree reference one. In particular, given a tree TREE and a list of indices, it will return the appropriate subtree. My python code looks like this:
Python:
def depth(x):
if not isinstance(x,(list,tuple)): return 0
maxdep=0
for element in x:
maxdep = max( maxdep , depth(element) )
return maxdep+1
def tree_ref( tree, index):
#Error if you ask for a deeper subtree than available
if len(index)>depth(tree):
return "ERROR \t tree_ref(): Your tree is smaller than what you asked"
#main return
if len(index)==1: return tree[index[0]]
for i in range(len(index)):
return tree_ref(tree[index[i]], index[i+1:])
TREE=(((1, 2), 3), (4, (5, 6)), 7, (8, 9, 10))
print tree_ref(TREE, (1,1,1))