class notes algorithms 254535