36#ifndef __YTLIB_OTO_PK_H
37#define __YTLIB_OTO_PK_H
65void ytOtoPK_printOrder(
const ytOtoPK *
this, FILE * fp);
Online Topological Ordering by PK Algorithm.
Definition: ytOtoPK.h:46
int ytOtoPK_addEdge(ytOtoPK *this, int x, int y, ytPCGraph *g)
Adds an edge with checking if it makes the graph cyclic.
Definition: ytOtoPK.c:232
int ytOtoPK_checkCyclicReorder(ytOtoPK *this, int x, int y, const ytPCGraph *g)
Checkes if the specified edge makes the graph cyclic.
Definition: ytOtoPK.c:288
ytOtoPK * ytOtoPK_new(int size)
Generates a new ytOtoPK instance for online topological ordering.
Definition: ytOtoPK.c:59
ytOtoPK * ytOtoPK_newPCGraph(const ytPCGraph *g)
Generates a new ytOtoPK instance with a ytPCGraph.
Definition: ytOtoPK.c:78
int ytOtoPK_checkCyclic(ytOtoPK *this, int x, int y, const ytPCGraph *g)
Checkes if the specified edge makes the graph cyclic.
Definition: ytOtoPK.c:265
void ytOtoPK_setOrder(const ytOtoPK *this, int *ord)
Set the topological order.
Definition: ytOtoPK.c:308
int ytOtoPK_init(ytOtoPK *this, const ytPCGraph *g)
Reordering by the specified graph.
Definition: ytOtoPK.c:100
void ytOtoPK_delete(void *this)
Deletes the ytOtoPK instance.
Definition: ytOtoPK.c:126
Definition: ytPCGraph.h:43