C++ Multimap in C++ STL Multi-map in C++ is an associative container like map. It internally store elements in key value pair. But unlike map which store only unique keys, multimap can have duplicate keys.
C++ Set in C++ STL In C++ STL, a set is an Associative container which contains a sorted set of unique objects of type Key. The commonly used functions are begin(), cbegin(), end(), size(), max_size(), empty(), insert(), erase(), emplace() and emplace_hint()
C++ Unordered map in C++ STL In C++ STL, Unordered map is a dictionary like data structure. The most commonly used methods of unordered_map are at(), begin(), end(), bucket(), bucket_count() / bucket_size(), count(), equal_range(), hash_function(), insert(), reserve() and load_factor()
C++ switch case in C++ A switch statement in C++ allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case.
Algorithms Hamiltonian Path Hamiltonian Path is a path in a directed or undirected graph that visits each vertex exactly once. The problem to check whether a graph (directed or undirected) contains a Hamiltonian Path is NP-complete, so is the problem of finding all the Hamiltonian Paths in a graph.
C++ do while loop in C++ Do while loop in C++ is an exit controlled loop and hence, it executes at least once even when the test-expression is false initially. We illustrate the concept and usage in C with different examples
C++ Builder Pattern in C++ Builder pattern in C++ aims to “Separate the construction of a complex object from its representation so that the same construction process can create different representations.” It is used to construct a complex object step by step and the final step will return the object.
C++ Default arguments in C++ A default argument in C++ is a value provided in a function declaration that is automatically assigned by the compiler if the caller of the function doesn’t provide a value for the argument with a default value.
Java Using Threads in Java Java is a multi-threaded programming language which means we can develop multi-threaded program using Java. A multi-threaded program contains two or more parts that can run concurrently and each part can handle a different task at the same time
Python Lambda functions in Python In Python, anonymous function is a function that is defined without a name. While normal functions are defined using the def keyword, in Python anonymous functions are defined using the lambda keyword. Hence, anonymous functions are also called lambda functions.
Java Overview of Java Servlets Java Servlets are programs that run on a Web or Application server and act as a middle layer between a requests coming from a Web browser or other HTTP client and databases. We explored Servlet Architecture, Servlet API Hierarchy, Servlet interfaces, Servlet Life Cycle and the life cycle methods
C++ Iterators in C++ STL Iterators in C++ Standard Template Library are used to point at the memory addresses of STL containers. They are primarily used in sequence of numbers, characters etc. They reduce the complexity and execution time of program.
C++ if else statement in C++ If else statement in C++ are program control statements that are widely used. We explore it and its variants like if else if, nested if else and if statements.
C++ Map in C++ STL Map in C++ STL is a dictionary like data structure. It is a sequence of (key, value) pair, where only single value is associated with each unique key. It is often referred as associative array.
C++ Reader Writer Problem in C++ using semaphore and monitor We will focus on solving the Reader Writer problem in C++ by using Semaphores as our first approach and Monitors as our second approach. It is a problem designed to illustrate synchronization within processes.
C Programming do while loop in C Do while loop in C is an exit controlled loop and hence, it executes at least once even when the test-expression is false initially. We illustrate the concept and usage in C with different examples
C++ Factory Pattern in C++ Factory method also known as a static class is a creational design pattern, i.e. it is related to object creation. In this we create object without exposing the creation logic to client and the client use the same common interface to create new type of object. Idea is to use a static member function
Data Structures Leftist Heap A leftist heap is a modification priority queue implemneted with variant of binary heap. Regarding binary heap, it is always a complete binary tree. It has two main properites Mean Heap Property and Heavy on left side and supports common operations in O(log N) time complexity.
C Programming While loop in C Order execution of while loop in C is control variable is initialized, test expression is evaluated, if it evaluates to true, the loop enters the body and it is repeatedly executed, till the expression does not evaluate to false. When the test expression evaluates to false, the loop is exited.
Algorithms Tile Stacking Problem We demonstrate how we will reduce the time complexity from O((k+1)^(m+1)) to O(N * M * K) to O(N * M). We have infinite number of tiles of sizes 1 to m. The task is calculate the number of different stable tower of height n with restriction that you can use at most k tiles of each size in the tower
C++ constructor in C++ A constructor is a member function of a class which initializes objects of a class. In C++, Constructor is automatically called when object(instance of class) is created it is considered to be a special member function of the class.
Python Range Function in Python Range is an inbuilt function in python that is generally used to create a sequence of numbers. It can accept upto three arguments to modify the output accordingly We will look into its functionalities and any limitations that range has. Let's start from basics and build up our understanding of range
C++ delete operator in C++ In C++, Delete is an operator that is used to destroy array and non-array(pointer) objects which are created by new operator as well as NULL pointers. Using operator overloading, we can delete user defined objects as well
C++ new operator in C++ In C++, the new operator denotes a request for memory allocation on the Heap. If sufficient memory is available, new operator initializes the memory and returns the address of the newly allocated and initialized memory to the pointer variable.
Machine Learning (ML) Porter Stemmer algorithm Stemming is the process of reducing a word to its stem that affixes to suffixes and prefixes or to the roots of words lemma. We cover the algorithmic steps in Porter Stemmer algorithm, a native implementation in Python, implementation using Porter Stemmer algorithm from NLTK library and conclusion.