コード例 #1
0
ファイル: dfs.py プロジェクト: susme2020/Lab7_202010
def dfs(search, v):
    adjs = g.adjacents(search['graph'], v)
    adjs_iter = it.newIterator(adjs)
    while (it.hasNext(adjs_iter)):
        w = it.next(adjs_iter)
        visited_w = map.get(search['visitedMap'], w)
        if visited_w == None:
            map.put(search['visitedMap'], w, {'marked': True, 'edgeTo': v})
            dfs(search, w)
コード例 #2
0
ファイル: dfs.py プロジェクト: danielhmahecha/Lab8_202010
def dfs_2(grafo, v, revisados):
    adjs = g.adjacents(grafo, v)
    adjs_iter = it.newIterator(adjs)
    while (it.hasNext(adjs_iter)):
        w = it.next(adjs_iter)
        visited_w = map.contains(revisados, w)
        if visited_w == False:
            map.put(revisados, w, {'marked': True, 'edgeTo': v})
            dfs_2(grafo, w, revisados)
コード例 #3
0
ファイル: bfs.py プロジェクト: danielhmahecha/Lab8_202010
def bfs(search, source):
    queue = q.newQueue()
    q.enqueue(queue, source)
    while not (q.isEmpty(queue)):
        v = q.dequeue(queue)
        adj_v = g.adjacents(search['graph'], v)
        adj_it = it.newIterator(adj_v)
        while it.hasNext(adj_it):
            w = it.next(adj_it)
            visited_w = map.get(search['visitedMap'], w)
            if visited_w == None:
                map.put(search['visitedMap'], w, {'marked': True, 'edgeTo': v})
                q.enqueue(queue, w)
コード例 #4
0
ファイル: bfs.py プロジェクト: andresR0410/ProyectoFinal
def bfs(search, source):
    queue = q.newQueue()
    q.enqueue(queue, source)
    while not (q.isEmpty(queue)):
        v = q.dequeue(queue)
        visited_v = map.get(search['visitedMap'], v)['value']
        adjs = g.adjacents(search['graph'], v)
        adjs_iter = it.newIterator(adjs)
        while (it.hasNext(adjs_iter)):
            w = it.next(adjs_iter)
            visited_w = map.get(search['visitedMap'], w)
            if visited_w == None:
                map.put(search['visitedMap'], w, {
                    'marked': True,
                    'edgeTo': v,
                    'distTo': visited_v['distTo'] + 1
                })
                q.enqueue(queue, w)
コード例 #5
0
def adjacents(graph, vertex):
    """
    Retorna una lista con todos los vertices adyacentes al vertice vertex
    """
    if (graph['type'] == "ADJ_LIST"):
        return alt.adjacents(graph, vertex)