Алгоритмы и структуры данных на C# (.NET) — Игорь Семёнов — обложка книги
300 страниц
C# (.NET)
PDF
4.5

Алгоритмы и структуры данных на C# (.NET)

Практическое руководство по проектированию эффективного кода

Автор:

Год:

Краткое содержимое:

Книга «Алгоритмы и структуры данных на C# (.NET)» — это полноценное практическое руководство, которое поможет разработчикам любого уровня освоить фундаментальные и продвинутые концепции построения эффективного кода. В отличие от абстрактных учебников, материал ориентирован на реальные задачи, с которыми сталкиваются C#-разработчики в повседневной работе: от обработки коллекций до оптимизации производительности серверных приложений на платформе .NET.

О чём эта книга

Книга охватывает полный спектр тем, необходимых для уверенного владения алгоритмическим мышлением:

  • Основы анализа сложности: Big O, нотация Омега и Тета; как оценивать производительность алгоритмов до написания кода.
  • Классические структуры данных: массивы, списки, стеки, очереди, хеш-таблицы, деревья (BST, AVL, красно-чёрные) и графы — с примерами реализации на C#.
  • Алгоритмы сортировки и поиска: быстрая сортировка, сортировка слиянием, бинарный поиск, интерполяционный поиск и их адаптация под .NET.
  • Работа с LINQ и коллекциями: как встроенные структуры данных (List, Dictionary, HashSet, SortedSet) используют алгоритмы под капотом.
  • Динамическое программирование и жадные алгоритмы: решение классических задач (задача о рюкзаке, поиск кратчайшего пути, задача коммивояжёра).
  • Современные возможности C# 12+ и .NET 8+: Span, Memory, индексируемые коллекции, рекорды для неизменяемых структур данных.

Для кого эта книга

Издание будет полезно:

  • Junior и Middle разработчикам, которые хотят систематизировать знания и научиться писать быстрый, предсказуемый код.
  • Студентам и выпускникам, изучающим Computer Science и желающим применить теорию на практике в экосистеме .NET.
  • Senior-инженерам, которым нужен справочник по нетривиальным сценариям использования структур данных и алгоритмов в высоконагруженных системах.
  • Техническим интервьюерам и тем, кто готовится к собеседованиям в крупные IT-компании (в книге разобраны типовые задачи из реальных интервью).

Что вы узнаете

  • Как выбирать структуру данных под конкретную задачу, чтобы избежать преждевременной оптимизации.
  • Как реализовать собственный итератор, кэш с политикой LRU или приоритетную очередь без сторонних библиотек.
  • Как использовать асинхронные алгоритмы (Parallel LINQ, Task-based подходы) для ускорения обработки больших данных.
  • Как тестировать и бенчмаркать алгоритмы с помощью BenchmarkDotNet.
  • Как избегать типичных ошибок памяти и GC-давления при работе с коллекциями.

Каждая глава содержит практические примеры, готовые к использованию в проектах, и упражнения для закрепления материала. Код доступен для скачивания и протестирован под .NET 8 и Visual Studio 2022.

Игорь Семёнов — архитектор программного обеспечения с 10-летним опытом разработки на C#. Участвовал в создании высоконагруженных финансовых систем и облачных сервисов на Azure. Автор курсов по алгоритмам для разработчиков и постоянный спикер профильных кон

Рекомендаций