CARS
|
Definizione delle funzioni per la gestione della coda di priorita' implementata con un heap binario di minimo. More...
Go to the source code of this file.
Data Structures | |
struct | heap_elem |
struct | heap_array |
Typedefs | |
typedef struct heap_elem | heap_elem_t |
typedef struct heap_array | heap_array_t |
Functions | |
int | is_empty (heap_array_t *coda) |
void | enqueue (heap_array_t *coda, unsigned int elem, double dist) |
int | decrease_key (heap_array_t *coda, unsigned int elem, double new_dist) |
int | dequeue (heap_array_t *coda) |
Definizione delle funzioni per la gestione della coda di priorita' implementata con un heap binario di minimo.
Si dichiara che il contenuto di questo file e' in ogni sua parte opera originale dell' autore.
typedef struct heap_array heap_array_t |
Heap binario di minimo
typedef struct heap_elem heap_elem_t |
Elemento dell'heap array
int decrease_key | ( | heap_array_t * | coda, |
unsigned int | elem, | ||
double | new_dist | ||
) |
Se un elemento e' presente nella coda di priorita', diminuisce il suo perso
[in,out] | coda | puntatore alla coda di priorita' |
[in] | elem | indice dell'elemento nel grafo |
[in] | new_dist | nuovo peso da assegnare all'elemento |
1 | se l'elemento e' stato aggiornato |
0 | se l'elemento non e' stato trovato nella coda |
References heap_array::array, heap_elem::dist, heap_array::heap_size, heap_elem::label, and reorganize_heap().
Referenced by dijkstra().
int dequeue | ( | heap_array_t * | coda | ) |
Rimuove l'elemento di peso minimo dalla coda di priorita'
[in,out] | coda | puntatore alla coda di priorita' |
i | l'indice nel grafo dell'elemento estratto |
References heap_array::array, heap_array::heap_size, heap_elem::label, reorganize_heap(), and scambia().
Referenced by dijkstra().
void enqueue | ( | heap_array_t * | coda, |
unsigned int | elem, | ||
double | dist | ||
) |
Inserisce un elemento nella coda di priorita'
[in,out] | coda | puntatore alla coda di priorita' |
[in] | elem | indice dell'elemento nel grafo |
[in] | dist | peso dell'elemento |
References heap_array::array, heap_elem::dist, heap_array::heap_size, heap_elem::label, and reorganize_heap().
Referenced by dijkstra().
int is_empty | ( | heap_array_t * | coda | ) |
verifica se la coda di priorita' e' vuota
[in] | coda | puntatore alla coda di priorita' |
0 | se la coda e' vuota |
n | un intero diverso da 0 se la coda non e' vuota |
References heap_array::heap_size.
Referenced by dijkstra().