#include "bfs.h"
#include "dijkstra.h"
#include <limits.h>
#include <stdlib.h>
Include dependency graph for dijkstra.c:
Go to the source code of this file.
Data Structures | |
struct | heap |
Defines | |
#define | MAX_DIST (double)INT_MAX |
#define | LOOP while(TRUE) |
#define | left(i) (2*(i)) |
#define | right(i) (2*(i)+1) |
#define | parent(i) ((i)/2) |
#define | insideHeap(h, i) ((i)<h->heapSize) |
#define | greaterPriority(h, i, j, dist) (dist[h->data[i]]<dist[h->data[j]]) |
#define | assign(h, i, j, index) {h->data[i]=h->data[j]; index[h->data[i]]=i;} |
#define | exchange(h, i, j, index) |
Typedefs | |
typedef DistType | Word |
Functions | |
void | dijkstra (int vertex, vtx_data *graph, int n, DistType *dist) |
int | dijkstra_bounded (int vertex, vtx_data *graph, int n, DistType *dist, int bound, int *visited_nodes) |
void | dijkstra_f (int vertex, vtx_data *graph, int n, float *dist) |
Definition at line 48 of file dijkstra.c.
#define exchange | ( | h, | |||
i, | |||||
j, | |||||
index | ) |
Value:
{int temp; \
temp=h->data[i]; \
h->data[i]=h->data[j]; \
h->data[j]=temp; \
index[h->data[i]]=i; \
index[h->data[j]]=j; \
}
Definition at line 49 of file dijkstra.c.
Definition at line 47 of file dijkstra.c.
#define insideHeap | ( | h, | |||
i | ) | ((i)<h->heapSize) |
Definition at line 46 of file dijkstra.c.
#define left | ( | i | ) | (2*(i)) |
Definition at line 43 of file dijkstra.c.
#define LOOP while(TRUE) |
Definition at line 37 of file dijkstra.c.
#define MAX_DIST (double)INT_MAX |
#define parent | ( | i | ) | ((i)/2) |
Definition at line 45 of file dijkstra.c.
#define right | ( | i | ) | (2*(i)+1) |
Definition at line 44 of file dijkstra.c.
Definition at line 35 of file dijkstra.c.
Definition at line 158 of file dijkstra.c.
References graph(), INT_MAX, MAX_DIST, and realloc().
Referenced by embed_graph().
int dijkstra_bounded | ( | int | vertex, | |
vtx_data * | graph, | |||
int | n, | |||
DistType * | dist, | |||
int | bound, | |||
int * | visited_nodes | |||
) |
Definition at line 203 of file dijkstra.c.
References bfs_bounded(), FALSE, freeQueue(), graph(), MAX_DIST, mkQueue(), NULL, realloc(), and TRUE.
void dijkstra_f | ( | int | vertex, | |
vtx_data * | graph, | |||
int | n, | |||
float * | dist | |||
) |