Classic algorithms and data structures implemented in C#