When using a global data-structure to keep track of the constituent blocks, the encoding procedure can be implemented to run in time linear in the number of blocks in the dependency structure.
for projective dependency structures, it still runs in time linear in the number of nodes.