Dijkstra’s Algorithm in C – Shortest Path with Step-by-Step Trace

Dijkstra’s algorithm finds the shortest path from one source vertex to all other vertices in a weighted graph with non-negative edge weights. It is a greedy algorithm: at each step it picks the unvisited vertex with the smallest known distance, marks it done, and relaxes its neighbours — updating any neighbour’s distance if a shorter …

0-1 Knapsack Problem in C – DP Solution with Table Trace

The 0-1 knapsack problem asks: given a set of items each with a weight and a value, and a knapsack with a maximum weight capacity, which items should you pack to maximize the total value? Each item can be taken once (0-1) — you cannot take a fraction. This is a classic dynamic programming problem …

Binary To Decimal in C

C Program to convert a binary number into its equivalent Decimal. In binary number system or base-2 system numeric valuer are represented by using two different symbols 0 and 1. The binary number system is a positional notation with a radix of 2. Read more here: What are binary, octal, and hexadecimal notation? This program converts …

C Program to count number of characters in the file

C Program to count number of characters in the file. In this program you can learn c file operations. Here we counting the characters by reading the characters in the file one by one and if read character was not an ‘n’ ,’t’ or EOF, it increments the counter by one. Read more about C …

GCD and LCM Using Recursion in C – Euclidean Algorithm

This C program finds GCD and LCM using recursion with the Euclidean algorithm. The GCD (Greatest Common Divisor) is the largest number that divides both inputs with no remainder. The LCM (Least Common Multiple) is the smallest number divisible by both. Once the GCD is known, the LCM follows from a simple identity: GCD(a, b) …

Fibonacci Series in C – Iterative, Recursive, and Array Methods

The Fibonacci series in C is a sequence where each number is the sum of the two preceding ones, starting from 0 and 1: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, … This page covers three approaches — iterative series printing, a recursive function, and a side-by-side comparison of their time and …