Skip to content
Snippets Groups Projects
Select Git revision
  • 819b20576b3700f666c7956c3d6346dc48d1e6c9
  • master default protected
2 results

arbre-parcours-profondeur.py

Blame
  • arbre-parcours-profondeur.py 1.36 KiB
    class Noeud:
        def __init__(self, v, c = []):
            self.v = v
            self.c = c
    
    def parcour_largeur(n):
    
        stack = []
        stack.append(n)
    
        while len(stack) > 0:
            current = stack.pop(0)
    
            for s in current.c:
                stack.append(s)
    
            print(current.v)
    
    def parcour_largeur(n):
    
        stack = []
        stack.append(n)
    
        while len(stack) > 0:
            current = stack.pop(0)
    
            for s in current.c:
                stack.append(s)
    
            print(current.v)
    
    def parcour_profondeur(n):
    
        stack = []
        stack.append(n)
    
        while len(stack) > 0:
            current = stack.pop()
    
            for s in reversed(current.c):
                stack.append(s)
    
            print(current.v)
    
    def parcour_profondeur_rec(n):
    
        if len(n.c) > 0:
            parcour_profondeur_rec(n.c[0])
    
        print(n.v)
    
        if len(n.c) > 1:
            parcour_profondeur_rec(n.c[1])
    
    def parcour_profondeur_rec_dic(n, A):
    
        if len(A[n]) > 0:
            parcour_profondeur_rec_dic(A[n][0], A)
    
        print(n)
    
        if len(A[n]) > 1:
            parcour_profondeur_rec_dic(A[n][1], A)
    
    
    racine = Noeud("chien", [Noeud("petit", [Noeud("le")]), Noeud("et", [Noeud("jaune"), Noeud("noir")])])
    
    parcour_profondeur_rec(racine)
    
    A = {"chien": ["petit", "et"],
        "petit": ["le"],
        "le": [],
        "et": ["jaune", "noir"],
        "jaune": [],
        "noir": []
    }
    
    parcour_profondeur_rec_dic("chien", A)
    
    print(A.keys())