libin103 1.4
Bibliothèque de structures de données en C
|
Structure de données d'arbres binaires de recherche équilibrés contenant des valeurs de type char . Plus de détails...
Aller au code source de ce fichier.
Structures de données | |
struct | character_avlnode_t |
Type de données pour représenter l'information stockée dans un noeud d'un arbre binaire. Plus de détails... | |
Macros | |
#define | character_AVL_LFT_HEAVY 1 |
#define | character_AVL_BALANCED 0 |
#define | character_AVL_RGT_HEAVY -1 |
Définitions de type | |
typedef struct character_avlnode_t | character_avlnode_t |
Type de données pour représenter l'information stockée dans un noeud d'un arbre binaire. | |
typedef generic_bitree_t | character_bistree_t |
Type de données pour représenter arbre binaire de recherche équilibrée. | |
Fonctions | |
void | character_bistree_init (character_bistree_t *tree) |
Initialisation d'un nouvel arbre binaire de recherche équilibré | |
void | character_bistree_destroy (character_bistree_t *tree) |
Destruction d'un arbre binaire de recherche équilibré | |
int | character_bistree_insert (character_bistree_t *tree, char data) |
Insertion d'une nouvelle valeur dans un arbre binaire de recherche équilibré | |
int | character_bistree_remove (character_bistree_t *tree, char data) |
Suppression d'une valeur dans un arbre binaire de recherche équilibré | |
bool | character_bistree_lookup (character_bistree_t *tree, char data) |
Test la présence d'une valeur dans l'arbre binaire de recherche équilibré | |
int | character_bistree_size (character_bistree_t *tree) |
Accesseur donnant la taille de l'arbre binaire de recherche équillibré | |
Structure de données d'arbres binaires de recherche équilibrés contenant des valeurs de type char .
Les arbres binaires de recherche équilibrés sont mis en oeuvre à partir des arbres binaires dans leur version générique (avec des type void*). Pour cette mise en oeuvre une structure de données représentant des valeurs à stocker dans l'arbre binaire est définie.
#define character_AVL_BALANCED 0 |
Etiquette pour indiquer qu'noeud a ses deux sous arbres de meme hauteur
#define character_AVL_LFT_HEAVY 1 |
Etiquette pour indiquer qu'un noeud a un sous-arbre gauche plus haut que le sous arbre droit
#define character_AVL_RGT_HEAVY -1 |
Etiquette pour indiquer qu'un noeud a un sous-arbre droit plus haut que le sous arbre guache
typedef struct character_avlnode_t character_avlnode_t |
Type de données pour représenter l'information stockée dans un noeud d'un arbre binaire.
Cette structure de données contient la valeur de type char à stocker ainsi que des informations servant à équilibrer l'arbre binaire de recherche au besoin et une étiquette utilisée pour améliorer les performances de l'opération de suppression.
typedef generic_bitree_t character_bistree_t |
Type de données pour représenter arbre binaire de recherche équilibrée.
Ce type est un arbre binaire générique avec des opérations d'insertion et de suppression adaptée pour maintenir l'équilibrage de l'arbre.
void character_bistree_destroy | ( | character_bistree_t * | tree | ) |
Destruction d'un arbre binaire de recherche équilibré
Met à zéro la taille et à NULL le pointeur vers la racine après avoir parcourus l'arbre pour détruire chaque noeud
tree | est un pointeur vers la structure de données character_bistree_t |
void character_bistree_init | ( | character_bistree_t * | tree | ) |
Initialisation d'un nouvel arbre binaire de recherche équilibré
Met à zéro la taille et à NULL le pointeur vers la racine
tree | est un pointeur vers la structure de données character_bistree_t |
int character_bistree_insert | ( | character_bistree_t * | tree, |
char | data ) |
Insertion d'une nouvelle valeur dans un arbre binaire de recherche équilibré
Cette fonction crée un nouveau noeud avec la données et réalise des opérations d'équilibrage (rotations) de la structure de données arbres binaires de recherche au besoin.
tree | est un pointeur vers la structure de données character_bistree_t |
data | la valeur de type char à ajouter |
bool character_bistree_lookup | ( | character_bistree_t * | tree, |
char | data ) |
Test la présence d'une valeur dans l'arbre binaire de recherche équilibré
tree | est un pointeur vers la structure de données character_bistree_t |
data | la valeur de type char cherchée |
int character_bistree_remove | ( | character_bistree_t * | tree, |
char | data ) |
Suppression d'une valeur dans un arbre binaire de recherche équilibré
Cette fonction ne supprime pas le noeud associé à la données supprimée mais le cache seulement grâce à l'étiquette hidden. Optimisation pour ne pas réaliser d'opération d'équilibrage après suppression.
tree | est un pointeur vers la structure de données character_bistree_t |
data | la valeur de type char à supprimer. |
int character_bistree_size | ( | character_bistree_t * | tree | ) |
Accesseur donnant la taille de l'arbre binaire de recherche équillibré
La taille correspond au nombre de valeurs stockées dans l'arbre
tree | est un pointeur vers la structure de données character_bistree_t |