نظریه ترکیبیات و کاربردهای آن در مهندسی الگوریتم