Subject: Re: Ordering of Blocks based on Input/Output
From: "Dave Gomboc" <dave@xxxxxxxxxxxxxx>
Date: Wed, 9 May 2001 22:03:42 -0600
|
> From: Dan Diebolt <dandiebolt@xxxxxxxxx>
[snip]
> Starting from B1, there are only two ways to order the
> blocks so that each Block's inputs are provided by a
> proceeding Block's output:
>
> B1 , B2 , B3 , B4 , B5
> B1 , B3 , B2 , B4 , B5
>
> My problem is to produce *one* such feasible ordering of
> the blocks.
[snip]
I'm not sure if you're aware that you're asking for what's known as a
"topological sort" (a web search on this will find you a lot of stuff on
it). I'll leave the XSLT implementation to others :-) but you should
know that an efficient solution has linear complexity: O(m+n) where m is
the number of edges and n is the number of nodes in the graph. In
English :-), if the problem size doubles, the time to find a topological
sort should only double as well.
Dave
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|