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.

Data Structures and Algorithm Analysis in Java

Data Structures and Algorithm Analysis in Java

Delve into the fundamentals of data structures and algorithms with Data Structures and Algorithm Analysis in Java. This comprehensive guide focuses on performance optimization, scalability, and real-world Java implementations. From sorting to dynamic programming, it equips developers with the tools to build efficient, high-performance applications. A must-read for students and professionals seeking to master Java’s capabilities in solving complex computational problems.

c-algorithms-library

Bayer Tree implementation in C

This is implementation of Bayer-Trees, which are normally used for indices of data bases. These routines provide all stuff that is needed to create and destroy; insert, update and delete; load and destroy; search and traverse; check a tree. Sort huge amounts of data by doing a multi-phase sorting on temporary files.

Operations Research Applications and Algorithms

Operations Research : Applications and Algorithms

Unlock the power of optimization and problem-solving with Operations Research: Applications and Algorithms. This book equips readers with the tools to tackle complex decision-making challenges in fields like logistics, finance, and manufacturing. A must-have for anyone interested in the application of mathematical modeling and algorithms.

Various Sorting Algorithms

Sort Huge amount of data using C Programming Language

The big sort routine implements a way to sort huge amounts of data using C programming language. It sorts the data that do not fit into main memory by using a multi-phase sorting on files. It is a implementation from the book “Algorithms and data structures” by Niklaus Wirth. Additionally, this routine recognizes small amounts of data that do fit into memory and resorts to a in-place quicksort.

Standard Function Library

Standard Function Library – ANSI C

The SFL (Standard Function Library) is an open source portable function library for C/C++ programs. Written by iMatix, the SFL provides about 450 functions for compression, encryption, encoding, datatype conversion and formatting, dates, times, calendars, internet programming (MIME, CGI) and many more.

String Sorting in Java

String Sorting in Java

In this article, we explore different sorting techniques applied to strings in Java. We will look into the implementation of the direct insertion sorting algorithm and more advanced techniques such as the Merge Sort and Quick Sort algorithms. Each approach offers unique advantages by providing Java developers with flexibility in choosing the most suitable method based on the specific requirements of their applications.

Towers of Hanoi Java Program

Towers of Hanoi Java Program

This Java Program solves the Towers of Hanoi problem for a tower of 10 disks. Ten differently-sized disks are stacked in a pile, in order of decreasing size. There are two other places for piles. The object is to move the pile to the second available place, subject to the rules that only one disk at a time can be moved, and no disk can be piled on top of a smaller disk. The Towers of Hanoi problem is a standard example of recursion.

random numbers

Find the longest common sub-sequence between two strings: Dynamic Programming Algorithm

This C program finds the longest common sub-sequence between two strings. It implements the most famous dynamic programming algorithm. Dynamic programming is a computational technique used to solve complex problems by breaking them down into smaller subproblems and solving each subproblem only once, storing the solution to each subproblem and using it to solve larger problems.

Scroll to Top