algorithms in computer networks