J'allais écrire une connerie ... Puisque tu as plusieurs fils, je pensais à un dictionnaire: - class Noeud: def __init__(self, pere=None, fils={}, valeur=None): self.pere = pere self.fils = fils self.valeur = valeur On peut savoir le nombre de fils, ajouter ou supprimer un fils, descendre dans l'arbre, etc. Pour le dessin, je suppose qu'on devra faire un parcours en largeur.
En fait, c'est plutôt un parcours en profondeur qui serait souhaitable. On veut savoir la largeur maximum du dessin en terme de nombre de "cellules" à dessiner. Au début, on associe la valeur 0 à tous les noeuds de l'arbre. On se rend jusqu'aux feuilles (noeud sans fils). on leur associe la valeur 1. On doit aditionner les valeurs de tous ses fils à chaque noeud. On devrait pouvoir faire remonter jusqqu'à la racine le plus grand nombre d'éléments par niveau. Ça devrait pouvoir se faire facilement de façon récursive Et un dictionnaire ne sera pas approprié. Une liste suffira. def somme(node): return sum(somme(n) for n in node.fils) or 1
- Edité par PierrotLeFou 26 novembre 2021 à 19:29:07
Le Tout est souvent plus grand que la somme de ses parties.
J'ai fait l'exercice avec un parcours en profondeur (je pensais au départ le faire en largeur mais je me suis rendu compte que j'avais vite besoin de connaître le nombre de lignes), par contre la partie dessin est un peu prise de tête.
Le problème est que les sous-arbres n'ont pas forcément tous la même profondeur. J'ai prévu un espace pour les feuilles qui ne sont pas au niveau le plus bas. Ça ne devrait pas être trop compliqqué si on n'a qu'un caractère associé à chaque noeud ou feuille.
Le Tout est souvent plus grand que la somme de ses parties.
AntoineBarbierPY a écrit:
> vous créerez votre propre method de compression avec python (toute simple ) il faudra que la taille du fichier baissera et pourra être unzipe
Cette consigne n'est pas vraiment réalisable.
Si tu connais un algo de compression qui permet systématiquement de réduire la taille des données en entrée, alors il suffirait de l'appliquer N fois sur les données pour avoir une taille de fichier qui tend vers zéro.
@Entwanne: Veux-tu dire que j'applique la compression sur un fichier déjà comprimé pour le réduire encore? J'ai déjà essayé avec gzip et ça ne marche pas. Le fichier devient souvent plus gros.
Il n'y a plus d'information redondante après un certain temps.
- Edité par PierrotLeFou 7 avril 2022 à 15:25:20
Le Tout est souvent plus grand que la somme de ses parties.
AntoineBarbierPY a écrit: > vous créerez votre propre method de compression avec python (toute simple ) il faudra que la taille du fichier baissera et pourra être unzipe
Cette consigne n'est pas vraiment réalisable.
Si tu connais un algo de compression qui permet systématiquement de réduire la taille des données en entrée, alors il suffirait de l'appliquer N fois sur les données pour avoir une taille de fichier qui tend vers zéro.
je ne savait pas que cela n'etait pas possible donc la taille pourrait rester la même ou même grossir s'il le fallait
PierrotLeFou a écrit:
> Veux-tu dire que j'applique la compression sur un fichier déjà comprimé pour le réduire encore?
J'ai déjà essayé avec gzip et ça ne marche pas. Le fichier devient souvent plus gros.
Je dis justement que non, tous les algos de compression (sans pertes) ont leurs limites, sinon ça permettrait de compresser indéfiniment ce qui n'est pas possible.
Donc effectivement compresser des données déjà compressées n'aura souvent que peu d'effet (un zip dans un zip, ou aussi certains formats d'images/vidéos dans un zip).
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Le Tout est souvent plus grand que la somme de ses parties.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique