Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #26331

Re: Why 'Flat is better than nested'

From Terry Reedy <tjreedy@udel.edu>
Subject Re: Why 'Flat is better than nested'
Date 2012-07-31 19:57 -0400
References <jv9h9i$7o1$1@dough.gmane.org> <CAAax9+ogjeQY4jFj2r_fnBwNiagDRZ2Pg0yWTWuV+ns17VKqjQ@mail.gmail.com> <CALwzid=snoC_Wm5H+0MKJ99xSVvTu1nyc6jLgz=Ky6F7N7YDag@mail.gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.2800.1343779070.4697.python-list@python.org> (permalink)

Show all headers | View raw


On 7/31/2012 5:49 PM, Ian Kelly wrote:
> On Tue, Jul 31, 2012 at 3:28 PM, Ifthikhan Nazeem <iftecan2000@gmail.com> wrote:
>> as many as (about) 2*N - log2(N) parent child relationships
>>
>> I would like to know how did you come up with the above formula? Forgive my
>> ignorance.

By non-rigorous experimentation, which did not quite count everything.

> I come up with 2N - 2 myself.  If there are N leaf nodes and N - 1
> non-leaf nodes, then there are 2N - 1 total nodes, each of which has
> one parent except for the root.  That's 2N - 2 parent-child
> relationships.

That looks right. I was trying to think recursively, which in this case 
is more rather than less complicated. That actually sharpens my original 
point. N-1 new nodes and 2N-2 new relationships is 3N-3 new entities.

The internal node limit of N-1 only applies to full-proper-strict binary 
trees without one-child internal nodes. Otherwise, a single leaf node 
could have an indefinite number of ancestors.

from https://en.wikipedia.org/wiki/Binary_tree
"A full binary tree (sometimes proper binary tree or 2-tree or strictly 
binary tree) is a tree in which every node other than the leaves has two 
children."

-- 
Terry Jan Reedy


Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Why 'Flat is better than nested' Terry Reedy <tjreedy@udel.edu> - 2012-07-31 19:57 -0400

csiph-web