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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ColabTurtleArbreBinaire-0.0.3.tar.gz.

File metadata

File hashes

Hashes for ColabTurtleArbreBinaire-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4cbe0e9e06ebca04f179e84905c4eec5dff9ad822d58bce00c953062ce9679b4
MD5 5964e5beccc8e9e5bc0243e4183f78c2
BLAKE2b-256 7f04ac117c5abc459143c90a0559580770efc62f5609cfd827b96da2df7bf3f5

See more details on using hashes here.

Provenance

File details

Details for the file ColabTurtleArbreBinaire-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for ColabTurtleArbreBinaire-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 daf016248f9dbc7749a7e3c482c4cc385f36f7ebe34108031e9225f32d36fb14
MD5 6ca5e44a256a387c2222b16694a7917c
BLAKE2b-256 251292110b36fed5be34d278cdb844eae939d25222cec73ff6c67be95a19a57f

See more details on using hashes here.

Provenance

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