Re: LeafCount
- To: mathgroup at smc.vnet.net
- Subject: [mg25949] Re: LeafCount
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Tue, 14 Nov 2000 03:46:43 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <8ug9h6$idn@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
your expression is
+-----+-----------+
| | |
Plus x |
+------+-----+
| | |
Times y z
and I can't help myself -- I see five leafs not three
You don't count the head's of an expression but expr[[0]]
is not different from expr[[1]].
Regards
Jens
Will Self wrote:
>
> In the expression Plus[x, Times[y, z]] I would say that there are 3
> terminal nodes (leaves), x, y, and z. The built-in function LeafCount,
> which purports to count the number of terminal nodes in the expression
> tree, actually counts *all* the nodes. So
> LeafCount[Plus[x, Times[y, z]]] ---> 5
> Am I missing something here, or is it true that LeafCount is wrongly
> described in the Mathematica Book?
>
> Here is mine:
>
> myLeafCount[expr_]:=
> Length[Flatten[Hold[expr] /. x_ :> List /; Head[x] == Symbol]]
>
> Does anyone see anything wrong with this? Or have another suggestion?
>
> Will Self
> private email replies appreciated
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.