# Author: Vivek Kumar

## A tutorial on Dynamic Programming (DP) Approach

Dynamic programming is one of the algorithmic paradigm that solves many problems that are failed under other paradigms such as Divide and Conquer, Greedy approach etc. The idea

## A Complete Guide to Open Addressing & its Classification to eliminate Collisions

Hashing has the fundamental problem of collision, two or more keys could have same hashes leading to the collision. Open addressing also called as Close hashing is the

## A guide to “Separate Chaining” and its implementation in C

Hashing has the fundamental problem of collision, two or more keys could have same hashes leading to the collision. Separate Chaining or Open Hashing is one of the

## A complete guide to hashing and collision resolution strategy

Hashing is an approach which provides searching operation in constant running time. There are many applications that require predominantly dictionary operations(Insert, Delete, Search). One of the approaches could

## Dijkstra’s Algo – single source shortest path Implementation, Pseudocode & Explanation

In our previous post Application of Graph – Shortest Path Problems we discussed the findings of the optimal path or the shortest path between the nodes of a graph. We talk

## Array of pointers and Pointer to array

An array is known as the contiguous run of elements while a pointer is an address pointing variable. A pointer could represent the same array. int arr[5]; int

## Fastest i/o in C/C++ language – An important asset for the competitive programming

In C programming all the input-output functions provided under C standard are thread safe. But, POSIX standard provides Multi-thread unsafe functions such as getchar_unlocked(). This method is faster

## Precedence and Associativity of Operators in C

How to use the Precedence and Associativity of the operators smartly is one of the important part of C programming. Precedence talks about the priority among the different