title: What is the best known transitive closure algorithm for a directed graph?
body: <p>In terms of runtime, what is the best known transitive closure algorithm for directed graphs?</p>
  
  <p>I am currently using Warshall's algorithm but its O(n^3). Although, due to the graph representation my implementation does slightly better (instead of checking all edges, it only checks all out going edges). Is there any transitive closure algorithm which is better than this? In particular, is there anything specifically for shared memory multi-threaded architectures?</p>