Posts

Showing posts from March, 2021

MST short

#include <limits.h> #include <stdbool.h> #include <stdio.h> #define V 5 int minKey(int key[], bool mstSet[]) {     int min = INT_MAX, min_index;        for (int v = 0; v < V; v++)         if (mstSet[v] == false && key[v] < min)             min = key[v], min_index = v;        return min_index; } int printMST(int parent[], int graph[V][V]) {     printf("Edge \tWeight\n");     for (int i = 1; i < V; i++)         printf("%d - %d \t%d \n", parent[i], i, graph[i][parent[i]]); } void primMST(int graph[V][V]) {     int parent[V];     int key[V];     bool mstSet[V];     for (int i = 0; i < V; i++)         key[i] = INT_MAX, mstSet[i] = false;     key[0] = 0;     parent[0] = -1;     for (int count = 0; count < V - 1; count++) { ...

Merge_sort

#include <stdio.h> #include <stdlib.h> void merge(int arr[], int l, int m, int r) {     int i, j, k;     int n1 = m - l + 1;     int n2 = r - m;     int L[n1], R[n2];     for (i = 0; i < n1; i++)         L[i] = arr[l + i];     for (j = 0; j < n2; j++)         R[j] = arr[m + 1 + j];     i = 0; j = 0; k = l;     while (i < n1 && j < n2) {         if (L[i] <= R[j])             {arr[k] = L[i];i++;}         else             {arr[k] = R[j];j++;}         k++;}     while (i < n1)         {arr[k] = L[i];i++;k++;}     while (j < n2)         {arr[k] = R[j];j++;k++;} } void mergeSort(int arr[], int l, int r) {     if (l < r) {       ...