Graph theory and applications