Algorithms Tutorials — Implementation in C, Data Structures and Algorithm Libraries

Flat diagram illustration showing sorting algorithm bar chart binary search tree and weighted graph network for algorithms tutorials in blue and white

Algorithms are the foundation of all software — the precise, step-by-step instructions that tell a computer how to solve a problem efficiently. Understanding algorithms is not just an academic exercise. It is what separates programmers who write code that works from engineers who write code that works fast, scales under load and handles complex problems elegantly. From sorting a list of names to finding the shortest path across a network, algorithms determine how well your software performs in the real world.

MYCPLUS has been publishing algorithm tutorials and implementation guides since 2004, with a particular focus on practical algorithm implementations in C and C++. This section covers the essential algorithms every programmer should understand — sorting, searching, graph traversal, tree operations and optimisation techniques — alongside practical data structure implementations and guides to established algorithm libraries used in professional C and C++ development.

With over 30 articles covering beginner through advanced algorithm concepts, you will find clear explanations of how each algorithm works, analysis of time and space complexity, working C source code implementations you can compile and study, and practical guides to algorithm libraries that save development time on real projects. Whether you are preparing for technical interviews, studying computer science fundamentals or optimising production code — start here.

What You’ll Learn

  • Sorting algorithms — bubble sort, merge sort, quicksort, heap sort and radix sort explained with step-by-step walkthroughs and working C implementations comparing performance and use cases
  • Searching algorithms — linear search, binary search, hash-based lookup and tree search techniques with practical C source code examples and complexity analysis
  • Graph traversal algorithms — breadth-first search, depth-first search, Dijkstra’s shortest path, Kruskal’s minimum spanning tree and practical graph algorithm implementations in C
  • Data structures for algorithms — arrays, linked lists, stacks, queues, binary trees and hash tables as the building blocks for efficient algorithm implementation in C and C++
  • Algorithm complexity and analysis — understanding Big O notation, time and space complexity, best and worst case analysis and choosing the right algorithm for your specific problem
  • C algorithm libraries — practical guides to established C algorithm libraries, standard library functions and reusable algorithm implementations for professional software development

Why MYCPLUS: Trusted by programmers and computer science students since 2004 — every algorithm tutorial includes working C source code implementations, complexity analysis and practical examples designed for both academic study and real-world software development.

Top 10 algorithms

Top 10 Algorithms Every Programmer Should Know

This article highlights the top 10 algorithms that every programmer should be familiar with. From sorting and searching algorithms to more advanced concepts like dynamic programming and machine learning, these algorithms form the foundation of efficient problem-solving and are widely applicable in real-world software development.

Solving the Knapsack Problem

Solving the Knapsack Problem with Code Examples

The Knapsack Problem is a classic optimization problem in computer science and mathematics. The goal is to maximize the value of items placed in a knapsack without exceeding its weight capacity. This problem has many variations, but the most common are: 0/1 Knapsack Problem: Each item can either be included or excluded. Fractional Knapsack Problem: Items can be divided to maximize value.

c-algorithms-library

C Algorithms Library

This article is about a collection of common Computer Science algorithms which may be used in C projects. The C Programming Language has a much smaller Standard Library as compared to other more modern programming languages such as Java or Python. The library provides a basic set of mathematical functions, string manipulation, type conversions, and file and console-based I/O.

Porter's Algorithm in C

Porter’s Algorithm in C

Originally written in 1979 at Computer Laboratory, Cambridge (England), it was reprinted in 1997 in the book “Readings in Information Retrieval”. Initially it was written in BCPL language. Here is the list of implementations in other programming languages including C, Java and Pearl implementations done by author himself.

Algorithms in C

Algorithms in C

These algorithms are represented in terms of compact implementations in C so that readers can both understand their fundamental properties and implement them in real applications. The method of the analysis of algorithms is quite carefully designed. When appropriate, analytic results are described to explain why certain algorithms are preferred. In some cases, the practical algorithms’ relationship being discussed to purely theoretical results is also described.

Scroll to Top