Plotting a recursion tree
- To: mathgroup at smc.vnet.net
- Subject: [mg108010] Plotting a recursion tree
- From: metobillc <metobillc at gmail.com>
- Date: Fri, 5 Mar 2010 04:32:28 -0500 (EST)
Hello, I'd like to be able to plot recursion trees, e.g. if I have a recurrence relation T(n) = 4T(n/2) + c n^2, T(1) = d (for integer n), and I want to plot T(8), I'd like to see a tree with 64 c at the head, 4 children with 16 c, 16 grandchildren with 4 c, 64 great granchildren with d (they are the leaves of the tree). The best I've come up with so far is: mylist[a_Integer /; a > 0, b_Integer /; b > 0, x_, depth_Integer /; depth > 0] := NestList[Table[#/b, {a}] &, x, depth] mylist[4,2,x,3] yields {x, {x/2, x/2, x/2, x/ 2}, {{x/4, x/4, x/4, x/4}, {x/4, x/4, x/4, x/4}, {x/4, x/4, x/4, x/4}, {x/ 4, x/4, x/4, x/4}}, {{{x/8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}, {x/ 8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}}, {{x/8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}, {x/ 8, x/8, x/8, x/8}}, {{x/8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}, {x/ 8, x/8, x/8, x/8}}, {{x/8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}, {x/8, x/8, x/8, x/8}, {x/ 8, x/8, x/8, x/8}}}} How can I get a separate case for the leaves, and then plot a list like this in tree form? TreeForm[mylist[4,2,x,3]] has a bunch of nodes called "List" and "Times", and is not symmetric -- I just want the elements of the list. Thanks, Bill Campbell Naval Research Laboratory Monterey, CA
- Follow-Ups:
- Re: Plotting a recursion tree
- From: Leonid Shifrin <lshifr@gmail.com>
- Re: Plotting a recursion tree