Thuật toán có thể được mô tả như sau:
Cho đồ thị có hướng có n đỉnh và m cạnh. Cần phải đánh số lại các đỉnh của nó sao cho mỗi cạnh dẫn từ đỉnh có số thấp hơn đến đỉnh có số cao hơn.
Nói cách khác, cần phải tìm một hoán vị của các đỉnh (thứ tự tô pô) tương ứng với thứ tự đã cho của tất cả các cạnh của đồ thị.
Chúng tôi sẽ sử dụng tìm kiếm theo chiều sâu (dfs(v))
Nếu chúng ta thêm đỉnh của mình vào đầu danh sách tại thời điểm thoát khỏi \(dfs(v)\) , thì cuối cùng trong danh sách này, bạn sẽ có được một kiểu sắp xếp tô pô.
Do đó, sắp xếp tô pô mong muốn — điều này được sắp xếp theo thứ tự thời gian thoát giảm dần.