Graph theory and its applications