Skip to main content

A free librairie to display python binary tree.

Project description

🌳 DisplayTreePython

DisplayTreePython est une librairie Python permettant d'afficher visuellement des arbres binaires directement dans la console. Elle est idéale pour l'enseignement, le débogage ou simplement pour mieux comprendre la structure de vos arbres.


🚀 Fonctionnalités

  • Affichage clair et lisible d'arbres binaires en ASCII
  • Support des valeurs de tout type (int, str, etc.)
  • Construction simple via des nœuds
  • Représentation hiérarchique fidèle

📦 Installation

Pour l’instant, la librairie peut être intégrée localement dans votre projet :

git clone https://github.com/votre-repo/DisplayTreePython.git

Puis importez-la dans votre script :

from display_tree_python.main import Noeud, Arbre

🛠️ Utilisation rapide

from display_tree_python.main import Noeud, Arbre

n1 = Noeud(1)
n2 = Noeud(2)
n3 = Noeud(3, n1, n2)
arbre = Arbre(0, n3, None)

print(arbre.affichage())

📚 Documentation

1. Concept

Un arbre binaire est une structure de données composée de nœuds. Chaque nœud peut avoir :

  • une valeur
  • un fils gauche
  • un fils droit

La librairie repose sur deux classes principales :

  • Noeud
  • Arbre

2. Classe Noeud

Création

Noeud(valeur, gauche=None, droite=None)

Paramètres

Nom Type Description
valeur any Valeur stockée dans le nœud
gauche Noeud Fils gauche (optionnel)
droite Noeud Fils droit (optionnel)

Exemples

Nœud simple

n = Noeud(5)

Nœud avec enfants

gauche = Noeud(2)
droite = Noeud(8)
racine = Noeud(5, gauche, droite)

3. Classe Arbre

Création

Arbre(valeur, gauche, droite)

L'objet Arbre représente la racine de votre structure.


Méthodes

affichage()

Retourne une représentation ASCII de l'arbre.

print(arbre.affichage())

4. Exemple complet

from display_tree_python.main import Noeud, Arbre

n19 = Noeud("r")
n18 = Noeud("q")
n17 = Noeud("p")
n16 = Noeud("o")
n15 = Noeud("i")
n14 = Noeud("x")
n13 = Noeud("z", n19)
n12 = Noeud("y", n18)
n11 = Noeud("u")
n10 = Noeud(0)
n9 = Noeud(9)
n8 = Noeud(8, n16, n17)
n7 = Noeud(7, n14, n15)
n6 = Noeud(6, n12, n13)
n5 = Noeud(5, n10)
n4 = Noeud(4, n8, n9)
n3 = Noeud(3, n6, n7)
n2 = Noeud(2, n4, n5)
n1 = Arbre(1, n2, n3)

print(n1.affichage())

5. Rendu console

        _______1_______        
       |               |
    ___2___         ___2___
   |       |       |       |
  _4_     _4      _6_     _6_
 |   |   |       |   |   |   |
 8   8   0       y   y   x   x
| |             |   |
o o             q   r

6. Bonnes pratiques

  • Évitez les arbres trop larges pour garder une bonne lisibilité
  • Utilisez des valeurs courtes pour un affichage propre
  • Préférez une structure équilibrée

🎯 Cas d'usage

  • Apprentissage des structures de données
  • Visualisation d'arbres binaires
  • Débogage
  • Supports pédagogiques

🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à proposer des améliorations, des optimisations ou de nouvelles fonctionnalités.


📄 Licence

MIT License


💡 Idées futures

  • Support des arbres n-aires
  • Export en image
  • Coloration des nœuds
  • Mode compact

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

dysplaytreepython-0.1.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dysplaytreepython-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file dysplaytreepython-0.1.0.tar.gz.

File metadata

  • Download URL: dysplaytreepython-0.1.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for dysplaytreepython-0.1.0.tar.gz
Algorithm Hash digest
SHA256 608043f5f4ce270c92f71d18ba2206fcc89ee1f1b53c125ddbbab6d0ef0f5b8d
MD5 0d2646f9dc7f2cefdb1d90242f2032cd
BLAKE2b-256 c96b66ae38add3fd63a67cce01d0cc7b0ee74b56acb72e8cef0aa1b8347f0c19

See more details on using hashes here.

File details

Details for the file dysplaytreepython-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dysplaytreepython-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33dead47d6f4bc7ee04f4ccd947eaeccbc88735b106b5c0c5c6ea3624c0252af
MD5 d8f25fdb1ada76b11f15576fbc9265d5
BLAKE2b-256 03d1e3b3bfb148bb5cc36c884f0f78129959a9fae9dc650f4ca0691cdc3eb8ba

See more details on using hashes here.

Supported by

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