If I have a bunch of nodes with differing numbers of inputs, but only one output, and each output can go to multiple inputs, but only one output per input; what do I call it?

Trying to name a class to represent the whole thing.

enter image description here

Assuming n1 produces a value, it flows to n2 and n3 which might perform different operations on that value, and then it continues until n5 uses two inputs to produce a final value.

  • 2
    Looks like a state machine or possibly a workflow, but without more information about your particular application, it's kinda hard to tell. Rather than asking us for a name, why don't you tell us about the problem you're trying to solve. Maybe we can solve it. Nov 8, 2015 at 5:51
  • 1
    You have "nodes with ... only one output" and "n1 ... flows to n2 and n3" (two outputs). Please clarify.
    – Lawrence
    Nov 8, 2015 at 6:33

1 Answer 1


This might be too general for what you're looking for, but it sounds like a kind of directed graph.

  • Yeah... because there's a piece of data from one end that goes through to the other... it makes it sort of like a neural network too right? Nov 8, 2015 at 5:11
  • Similar to how a program traverses a graph of states during execution, you can think of this graph's nodes as being containers for operations and those nodes are traversed by the data. You might prefer to call this a Network to distinguish it from a purely data-containing data structure. Certainly, there are similarities to neural networks if you think of the inputs as being levels of activation. DirectedNetwork, or DataFlowNetwork perhaps? Obviously, I can't think of a precise name for you, but there are some suggestions.
    – krallus
    Nov 8, 2015 at 5:43
  • DirectedNetwork sounds pretty good actually. Ta Nov 8, 2015 at 9:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.