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

Remarque. L'animation montre simplement où le noeud sera ajouté sans modifier l'arbre passé en paramètre.

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.4.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

ColabTurtleArbreBinaire-0.0.4-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for ColabTurtleArbreBinaire-0.0.4.tar.gz
Algorithm Hash digest
SHA256 fb488450d08ed3cf3fd39187751bff3c1550d75f1c9f67dcf7c1143ab4854633
MD5 c2f52df85886c874b39259f6d496dccf
BLAKE2b-256 4b86340eb451557bff41dffb64b9b37d0ff529697417e006b10e4681f33dd235

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for ColabTurtleArbreBinaire-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c67d637d7b0e12445c5ee2d4c4ef467f021c1e6849bd1330118337b9ec266115
MD5 ae38002fa34cf62a2360b18f087174cd
BLAKE2b-256 7b4df6e44ae147da702c04dc4a3da71527b445e11c8454878389cae4b357c2f0

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