Bước 1: Khởi tạo: Chọn một thành phố bất kỳ làm thành phố xuất phát và tạo một chuỗi con ban đầu chỉ chứa thành phố này. Bước 2:Lặp cho đến khi tất cả các thành phố đã được chèn vào chuỗi con: a. Chọn thành phố chưa được chèn vào chuỗi con và có khoảng cách gần nhất với thành phố trong chuỗi con. b. Tìm cạnh trong chuỗi con sao cho chi phí của việc chèn thành phố đó giữa các thành phố của cạnh là nhỏ nhất. Chi phí chèn có thể được tính bằng cách lấy tổng khoảng cách giữa các thành phố trên cạnh hiện tại, trừ đi khoảng cách giữa hai thành phố kề nhau và cộng thêm khoảng cách giữa thành phố mới và hai thành phố lân cận. c. Chèn thành phố vào vị trí tối ưu đã chọn trong chuỗi con. Bước 3: Kết thúc: Khi tất cả các thành phố đã được chèn vào chuỗi con, thuật toán trả về chuỗi con cuối cùng là đường đi tối ưu giữa các thành phố.