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 :
NoeudArbre
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
608043f5f4ce270c92f71d18ba2206fcc89ee1f1b53c125ddbbab6d0ef0f5b8d
|
|
| MD5 |
0d2646f9dc7f2cefdb1d90242f2032cd
|
|
| BLAKE2b-256 |
c96b66ae38add3fd63a67cce01d0cc7b0ee74b56acb72e8cef0aa1b8347f0c19
|
File details
Details for the file dysplaytreepython-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dysplaytreepython-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33dead47d6f4bc7ee04f4ccd947eaeccbc88735b106b5c0c5c6ea3624c0252af
|
|
| MD5 |
d8f25fdb1ada76b11f15576fbc9265d5
|
|
| BLAKE2b-256 |
03d1e3b3bfb148bb5cc36c884f0f78129959a9fae9dc650f4ca0691cdc3eb8ba
|