-
Notifications
You must be signed in to change notification settings - Fork 0
/
busqueda_profunda.py
36 lines (32 loc) · 1 KB
/
busqueda_profunda.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# coding=utf-8
from header import *
def DFSStack(gph):
count = gph.count
visitado_verti = [0] * count
stk = []
visitado_verti[0] = 1
stk.append(object)
while len(stk) != 0:
curr = stk.pop()
head = gph.array[curr].head
while head != None:
if visitado_verti[head.destino_ver_dat] == 0:
visitado_verti[head.destino_ver_dat] = 1
append(head.destino_ver_dat)
head = head.next
def busqueda_por_profundidad(gph):
count = gph.count
visitado_verti = [0] * count
i = 0
while i < count:
if visitado_verti[i] == 0:
visitado_verti[i] = 1
DFSRec(gph, i, visitado_verti)
i += 1
def DFSRec(gph, index, visitado_verti):
head = gph.array[index].head
while head != None:
if visitado_verti[head.destino_ver_dat] == False:
visitado_verti[head.destino_ver_dat] = True
DFSRec(gph, head.destino_ver_dat, visitado_verti)
head = head.next