CARS
Data Structures | Typedefs | Functions

/home/nicola/Dropbox/Progetto SOL/CARS_terfram/src/heap.h File Reference

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)

Detailed Description

Definizione delle funzioni per la gestione della coda di priorita' implementata con un heap binario di minimo.

Author:
Nicola Corti

Si dichiara che il contenuto di questo file e' in ogni sua parte opera originale dell' autore.


Typedef Documentation

typedef struct heap_array heap_array_t

Heap binario di minimo

typedef struct heap_elem heap_elem_t

Elemento dell'heap array


Function Documentation

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

Parameters:
[in,out]codapuntatore alla coda di priorita'
[in]elemindice dell'elemento nel grafo
[in]new_distnuovo peso da assegnare all'elemento
Return values:
1se l'elemento e' stato aggiornato
0se 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'

Parameters:
[in,out]codapuntatore alla coda di priorita'
Return values:
il'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'

Parameters:
[in,out]codapuntatore alla coda di priorita'
[in]elemindice dell'elemento nel grafo
[in]distpeso 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

Parameters:
[in]codapuntatore alla coda di priorita'
Return values:
0se la coda e' vuota
nun intero diverso da 0 se la coda non e' vuota

References heap_array::heap_size.

Referenced by dijkstra().