What is the best and easy (regarding implementation) way of computing three edge independent trees in a 3-connected graph? I am searching for an implementation of an algorithm that constructs three edge independent spanning trees from a 3-edge connected graph. Any response will be appreciated. Thanks in Advance.
The problem can be reduced to the edge orientation problem. Where if tree width (number of independent trees) is c, we need to orient the edges such that each vertex has an outdegree of at most c.

For planar graphs, where c = 3, an O(n log n) algorithm is given by [1]. For general graphs, a simple O(m + n) time algorithm computing a (2c - 1) orientation is shown in [2]. Other algorithms computing exact c orientation are harder including [3] and [4].

[1] Grossi and Lodi. Simple planar graph partition into three forests. Discrete Applied Mathematics, 84:121-132, 1998.

[2] Srinivasa R. Arikati, Anil Maheshwari, and Christos D. Zaroliagis. Efficient computation of implicit representations of sparse graphs. Discrete Applied Mathematics, 78:1-16,1997.

[3] Harold N. Gabow and Herbert H. Westermann. Forests, frames, and games: Algorithms for matroid sums and applications. Algorithmica, 7:465-497, 1992.

[4] J. C. Picard and M. Queyranne. A network flow soloution to some non-linear 0-1 programming problems, with applications to graph theory. Networks, 12:141-160, 1982.