Depth-first search (DFS) melakukan pencarian secara preorder. Mengunjungi anak suatu simpul sebelum simpul tetangganya.
AlgoritmaStep 1: letakkan root parent di tempat yang paling atasStep 2: Lakukan looping hingga titik terakhir Step 3: letakkan titik yang terhubung dengan root parent pada satu garis lurusStep 4: lakukan pengecekan, jika titik tidak memiliki child letakkan pada garis, pindah ke titik selanjutnyaStep 5: jika titik yang ditemui memiliki child hubungkan dengan titik sebelumnya
pseudocode:
DFS(G,v) ( v is the vertex where the search starts )
Stack S := {}; ( start with an empty stack )
for each vertex u, set visited[u] := false;
push S, v;
while (S is not empty) do
u := pop S;
if (not visited[u]) then
...