The tree-depth of a graph G is the minimum height of rooted forest F such that G ⊆ closure(F), where closure(F) is the graph obtained from F by adding all possible edges between ancestors and descendants. We implemented a dynamic programming algorithm for finding the tree-depth and designed heuristic algorithms based on using betweenness, closeness, triangle, and degree centralities. We did several experiments to evaluate the performances of our heuristic algorithms on social networks of different models. We also proposed heuristic algorithms based on the tree-depth decomposition tree for the graph coloring problem and the maximum independent set problem. For the graph coloring problem, we studied some cases that our heuristic algorithm is much better than the degree-first method. For the maximum independent set problem, our heuristic algorithm performs very well in our experiments.