| 0 | Calculate in-degree for all nodes | [] | {5:0,4:0,2:0,3:0,0:0,1:0} | [] | Graph nodes with initial in-degree 0 |
| 1 | Count in-degree from edges | [] | {5:0,4:0,2:1,3:1,0:2,1:2} | [] | In-degree updated based on edges |
| 2 | Initialize queue with nodes having in-degree 0 | [5,4] | {5:0,4:0,2:1,3:1,0:2,1:2} | [] | Queue starts with nodes 5 and 4 |
| 3 | Dequeue node 5 | [4] | {5:0,4:0,2:1,3:1,0:2,1:2} | [5] | Remove 5 from queue, add to order |
| 4 | Decrease in-degree of neighbors 2 and 0 | [4] | {5:0,4:0,2:0,3:1,0:1,1:2} | [5] | In-degree of 2 and 0 decreased by 1 |
| 5 | Enqueue nodes with in-degree 0 (2) | [4,2] | {5:0,4:0,2:0,3:1,0:1,1:2} | [5] | Node 2 added to queue |
| 6 | Dequeue node 4 | [2] | {5:0,4:0,2:0,3:1,0:1,1:2} | [5,4] | Remove 4 from queue, add to order |
| 7 | Decrease in-degree of neighbors 0 and 1 | [2] | {5:0,4:0,2:0,3:1,0:0,1:1} | [5,4] | In-degree of 0 and 1 decreased by 1 |
| 8 | Enqueue nodes with in-degree 0 (0) | [2,0] | {5:0,4:0,2:0,3:1,0:0,1:1} | [5,4] | Node 0 added to queue |
| 9 | Dequeue node 2 | [0] | {5:0,4:0,2:0,3:1,0:0,1:1} | [5,4,2] | Remove 2 from queue, add to order |
| 10 | Decrease in-degree of neighbor 3 | [0] | {5:0,4:0,2:0,3:0,0:0,1:1} | [5,4,2] | In-degree of 3 decreased by 1 |
| 11 | Enqueue nodes with in-degree 0 (3) | [0,3] | {5:0,4:0,2:0,3:0,0:0,1:1} | [5,4,2] | Node 3 added to queue |
| 12 | Dequeue node 0 | [3] | {5:0,4:0,2:0,3:0,0:0,1:1} | [5,4,2,0] | Remove 0 from queue, add to order |
| 13 | Node 0 has no neighbors to update | [3] | {5:0,4:0,2:0,3:0,0:0,1:1} | [5,4,2,0] | No in-degree changes |
| 14 | Dequeue node 3 | [] | {5:0,4:0,2:0,3:0,0:0,1:1} | [5,4,2,0,3] | Remove 3 from queue, add to order |
| 15 | Decrease in-degree of neighbor 1 | [] | {5:0,4:0,2:0,3:0,0:0,1:0} | [5,4,2,0,3] | In-degree of 1 decreased by 1 |
| 16 | Enqueue nodes with in-degree 0 (1) | [1] | {5:0,4:0,2:0,3:0,0:0,1:0} | [5,4,2,0,3] | Node 1 added to queue |
| 17 | Dequeue node 1 | [] | {5:0,4:0,2:0,3:0,0:0,1:0} | [5,4,2,0,3,1] | Remove 1 from queue, add to order |
| 18 | Node 1 has no neighbors to update | [] | {5:0,4:0,2:0,3:0,0:0,1:0} | [5,4,2,0,3,1] | No in-degree changes |
| 19 | Queue empty, algorithm ends | [] | {5:0,4:0,2:0,3:0,0:0,1:0} | [5,4,2,0,3,1] | Topological order complete |