A new algorithm which detects deadlock in distributed computing system is proposed. This algorithm is called DGR (Distributed Graph Reconstruction) algorithm, because it extracts informations about deadlock condition from reconstructed wait-for graph. The main goal of the algorithm is how to detect deadlock with less communication messages in fully distributed manner. The approach of this algorithm is completely new. The communication model is used as an abstraction of a distributed system. It detects all existing deadlock with smaller number of messages than known algorithms. DGR algorithm does not detect any flase deadlock and it detects disjoint cycles within wait-for graph separately. Therefore, the resolution of detected deadlock can be done more easily. The hypercube computer architecture is used as a basis of distributed system and the hypercube simulator is used for performance analysis of the algorithm.