µLua DS - Forum officiel | Official forum Index du Forum

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

[LUA/Lib] Arbres Binaires

 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Coin du dév' -> Librairies
Sujet précédent :: Sujet suivant  
Auteur Message
Roland_Yonaba


Hors ligne

Inscrit le: 02 Sep 2011
Messages: 22

MessagePosté le: Mar 15 Mai 2012 - 21:19    Sujet du message: [LUA/Lib] Arbres Binaires Répondre en citant



Binary Heaps est une librairie offrant une implémentation en Lua des Arbres binaires.
Il s'agit d'une structure de données se comportant comme un arbre complet.
Les utilisations des arbres binaires sont très variées. La plus commune étant une alternative très rapide pour retrouver le plus grand ou le plus petit élément d'une liste de de données.


J'ai écrit cette librairie, d'une part pour mettre en application quelques lectures faites par ci et par-là (voir Documentation), et d'autre part parce que je prévois l'employer dans un algorithme de pathfinding, afin d'accélere les opérations de recherche sur les listes ouvertes et listes fermées.


Cette librairie vous permet de manipuler des arbres binaires en utilisant les opérations les plus communes connues sur les arbres. Vous pourrez manipuler à la fois des arbres binaires avec 'Maximum' ou 'Minimum' comme propriété de comparaison.


Utilisation:
Citation:


Ajouter le fichier 'binary_heap.lua' à votre projet.
Appellez le avec la commande <require>. Ilvous retourne une pointeur vers une classe.

 
Citation:
local heap = require ("binary_heap")
-- Créer son arbre
myheap = heap:new()


-- alternative
myheap = heap()


-- ajouter des éléments
myheap:insert(10)
myheap:insert(15)
myheap:insert(18)


-- récupérer le minimum
while not myheap:empty()
local minimum = myheap:pop()
print(minimum)
end






Documentation:
Citation:


- http://www.algolist.net/Data_structures/Binary_heap/Array-based_int_repr
- http://www.cs.cmu.edu/~adamchik/15-121/lectures/Binary Heaps/heaps.html
- http://rperrot.developpez.com/articles/algo/structures/arbres/




Télecharger : Binary heaps


License : MIT-LICENSE


EDIT : Dépôt déplacé vers Github. Lien mis à jour.


Dernière édition par Roland_Yonaba le Mer 16 Mai 2012 - 14:43; édité 1 fois
Revenir en haut
Publicité






MessagePosté le: Mar 15 Mai 2012 - 21:19    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Mar 15 Mai 2012 - 21:55    Sujet du message: [LUA/Lib] Arbres Binaires Répondre en citant

Ben voilà une idée quelle est bien, j'ai essayé d'utiliser ces arbres pour le tri croissant des fichiers/dossier pour le shell et j'ai bien rigolé et bien planté aussi. Tu as le même en C stp Very Happy
Pour le moment j'ai fait un truc qui fonctionne mais je sait pas ce que cela vaut question beauté et simplicité du code.
Enfin sa marche c'est déjà ça Very Happy
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
Roland_Yonaba


Hors ligne

Inscrit le: 02 Sep 2011
Messages: 22

MessagePosté le: Mer 16 Mai 2012 - 10:43    Sujet du message: [LUA/Lib] Arbres Binaires Répondre en citant

Tu peux utiliser la fonction table.sort en Lua pour un tri intégral d'un ensemble d'éléments.
Sinon, mon implémentation de tas binaire n'est pas la solution qui te convient le mieux, pour ce cas spécifique.


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 08:54    Sujet du message: [LUA/Lib] Arbres Binaires

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Coin du dév' -> Librairies Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com