There is too much iteration when using the traditional Floyd algorithm to calculate the shortest path, that is to say, the computation of traditional Floyd algorithm is too large for an urban road network with a large number of nodes. As for this disadvantage, the Floyd algorithm was improved and optimized further in this study; moreover, the improved Floyd algorithm was used to solve the shortest path problem in car navigation system, and it achieved good results. Two improvements were done: firstly, construct an iterative matrix for solving the shortest path, all the nodes in it were compared at first, and those nodes which have nothing to do with the results were removed, then search for the next node directly to reduce the frequency of iteration; Secondly, construct a serial number matrix for solving the shortest path, it was used to record the case of inserting node in the process of iteration. Finally, the frequency of iteration and the computational complexity were compared for both the traditional Floyd algorithm and the improved Floyd algorithm. The experimental results and analysis showed that the computational complexity of the improved Floyd algorithm has reduced to half of that of the traditional algorithm. What’s more, by checking the iterative matrix and the serial number matrix, the shortest path can be found out simply, intuitively and efficiently.