Algorithms and Data Structures in C++
300 pages
English
PDF
4.5

Algorithms and Data Structures in C++

Algorithms and Data Structures in C++

Author:

Year:

Summary:

The book "Algorithms and Data Structures in C++" is a comprehensive practical guide covering all key topics necessary for confident proficiency in C++ at the middle-developer level and above. The material is presented considering the modern C++17 and C++20 standards, making the book relevant for professional development.



What this book is about

You will sequentially study fundamental and advanced data structures:

  • Linear structures: dynamic arrays (std::vector), linked lists (singly linked, doubly linked), stacks and queues, including std::queue and std::stack.
  • Trees and graphs: binary search trees, AVL trees, red-black trees, traversals (BFS, DFS), Dijkstra's, Bellman-Ford, Floyd-Warshall algorithms.
  • Hash tables: implementation, collision resolution, std::unordered_map and std::unordered_set.
  • Sorting and searching algorithms: quicksort, mergesort, heapsort, binary search, interpolation search.
  • Dynamic programming: knapsack problem, longest common subsequence, Levenshtein distance.
  • Modern C++ features: smart pointers, move semantics, lambda expressions, coroutines, ranges.


Who this book is for

  • Beginner C++ developers who want to systematize their knowledge of algorithms.
  • Technical students preparing for interviews or programming competitions.
  • Practicing programmers looking to master advanced code optimization and memory management techniques.


What you will learn

  • How to choose the optimal data structure for a specific task (Big O notation, amortized analysis).
  • How to implement custom containers from scratch and how to properly use the STL.
  • How to write efficient, safe, and readable code considering C++ specifics (RAII, exceptions, templates).
  • How to solve typical interview problems: from reversing a list to finding the shortest path in a graph.


Each chapter contains code examples that can be run immediately, and practical tasks with solution breakdowns. The book will be a reliable companion both for self-education and for preparing for technical interviews.

Recommendations