Skip to main content

A module using ColabTurtlePlus to draw binary trees

Project description

ColabTurtleArbreBinaire

Ce module permet de représenter un arbre binaire et de visualiser son parcours à l'aide du module ColabTurtlePlus (un module dérivé du module turtle pour les notebooks Google Colab et Jupyter).

Dans ce module, un arbre binaire est représenté en Python à l'aide d'une liste de la façon suivante :

  • [] représente l'arbre vide.
  • [v, sag, sad] représente un arbre non vide avec :
    • v la valeur de sa racine ;
    • sag son sous-arbre de gauche ;
    • sad son sous-arbre de droite.

Ce module est destiné à l'enseignement de l'informatique. Il a pour but de fournir un support graphique pour accompagner les élèves dans l'apprentissage des algorithmes classiques sur les arbres binaires (de recherche). Il ne fourni pas cependant ces algorithmes qui seront abordés en classe avec le professeur.

Installation

Il faut préalablement installer le module en exécutant la commande shell suivante dans une cellule :

!pip install ColabTurtleArbreBinaire

Utilisation

Pour importer le module, exécuter le code suivant dans une autre cellule :

from ColabTurtleArbreBinaire import *

Exemples

Les exemples donnés ci-après peuvent être directement testés dans ce cahier Google Colab.

Exécutez la cellule suivante pour stocker en mémoire l'arbre binaire abr0 qui sera utilisé dans les exemples qui suivent.

abr0 = [
    30,
        [9,
            [7,
                [5, [], []],
                [6, [], []]
            ],
            [13,
                [10, [], []],
                []
            ]
        ],
        [42,
            [31, [], []],
            [54, [], []]
        ]
]

Les abres ayant pour valeur des chaînes de caractères sont aussi pris en charge :

abr1 = [
    'G',
        ['D',
            ['C',
                ['A', [], []],
                ['B', [], []]
            ],
            ['F',
                ['E', [], []],
                []
            ]
        ],
        ['I',
            ['H', [], []],
            ['J', [], []]
        ]
]
abr2 = [
    'Albatros',
        ['Baleine',
            ['Cachalot',
                ['Dauphin', [], []],
                ['Éléphant', [], []]
            ],
            ['Faucon',
                ['Gazelle', [], []],
                []
            ]
        ],
        ['Héron',
            ['Iguane', [], []],
            ['Jaguar', [], []]
        ]
]

Affichage d'un arbre

dessiner(abr0) # avec les arbres vides
dessiner(abr0, dessiner_vide=False) # sans les arbres vides

Animation du parcours d'un arbre

dessiner_parcours(abr0, dessiner_vide=False, parcours='largeur')

Remarque. 'largeur' peut être remplacé par 'infixe', 'préfixe', 'suffixe' ou 'postfixe'.

Animation de la recherche d'une valeur dans un arbre

dessiner_recherche(abr0, 13, dessiner_vide=False, parcours='largeur')

Remarque. 'largeur' peut être remplacé par 'infixe', 'préfixe', 'suffixe' ou 'postfixe'.

Animation de l'insertion d'une valeur dans un arbre binaire de recherche

dessiner_insertion(abr0, 34)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ColabTurtleArbreBinaire-0.0.3.tar.gz (10.3 kB view hashes)

Uploaded Source

Built Distribution

ColabTurtleArbreBinaire-0.0.3-py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page