I studied about various algorithms for cycle detection algorithm in directed graphs like incremental way search, strongly connected components, BFS, two way search, etc. Now I want to simulate it and compare the performance. I am calling cycle detection function whenever I am inserting an edge.
So, my question is what kind of datasets should I consider. If I consider random graphs, then what should be the criteria for evaluation of various algorithms. Some random graph might be of huge size; but they might lead to cycle in a few iterations. It would be helpful if someone can suggest how to go about this.
Also, to compare the performance, does it make sense to remove cycle and then continue insertions again. Once it terminates, compare the execution times of all the implementations?