Fundamental notions of graph theory