We propose a new algorithm for a classical problem in the planer computational geometry: computing a shortest path between two points in the presence of circular obstacles. Proposed algorithm actually computes a path tree that encodes a shortest path between given two points. Types of path are defined as a tangent line segment between circles, between point and circle, or as an arc. Using circle set voronoi diagram, geometric information that is very useful to search circles is obtained. The key of proposed algorithm is the reduction of the number of circles to need for constructing path tree. The main advantages of our algorithm are its robustness, speed, and the simplicity in implementation.