title: graph algorithm finding if graph is connected, bipartite, has cycle and is a tree
body: <p>I came to a problem when I was trying to work with graphs and write some code for it but with no luck :/ !!</p>
  
  <p>I wanted to created something that will take the data of the graph and check if it is:
  1- connected
  2- bipartite
  3- has cycle
  4- is a tree</p>
  
  <p>so I was wondering for example if this can be written to read a graph data from a .txt file that will do the above tests ??</p>
  
  <p>using simple edge-list format is the correct approach for it ?</p>
  
  <p>your help is appreciated if you can give me a link to read about how to do this task or a kick start for a code !! </p>
  
  <p>thanks :D</p>