×
Home Discussions Write at Opengenus IQ
×

Search anything:

  • DSA Cheatsheet
  • HOME
  • Track your progress
  • Deep Learning (FREE)
  • Join our Internship 🎓
  • RANDOM
  • One Liner

OpenGenus IQ, an open-source Computer Science Publication House, is driven by 2500+ BSc/MSc/PhD holders globally, exploring Algorithms, Deep Learning, System Design, and more since 2017.

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

Harshita Sahai Harshita Sahai
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.

Nisarg Shah Nisarg Shah
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.

Shreya Rastogi
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

Sadanand Vishwas Sadanand Vishwas
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.

Harshita Sahai Harshita Sahai
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

Sonal Agrawal Sonal Agrawal
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

Harshita Sahai Harshita Sahai
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.

Harshita Sahai Harshita Sahai
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.

Surya Pratap Singh
Java

do while loop in Java

A do-while loop is similar to a while loop, except the fact that it is guaranteed to execute at least one time. The do-while loop checks its condition at the bottom of the loop after one time execution of do and hence, is an exit control loop. It is slower than for and while loops in Java

OpenGenus Tech Review Team OpenGenus Tech Review Team
Software Engineering

while loop in Java

A while loop is an entry controlled control flow statement that allows code to be executed repeatedly based on a given condition. In Java, while loop is widely used. On benchmarking the performance, we see that while loop is slower than for loop but is two times faster than do while loop.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Data Structures

Binomial Heap

Binomial Heap is an extension of Binary Heap that provides faster union or merge operation together with other operations provided by Binary Heap. A Binomial Heap is a collection of Binomial trees. Binomial Heap is used to implement priority queues.

Sadanand Vishwas Sadanand Vishwas
Data Structures

Priority Queue

Priority queue is an abstract data type which is like a queue or stack data structure with each element having a priority assigned to it. In priority queue, an element with highest priority assigned is served first, if two elements have same priority then they are served according to enqueue order

Sadanand Vishwas Sadanand Vishwas
Java

Postfix (i++) vs Prefix (++i) increment in Java

i++ is known as postfix increment operation while ++i is known as prefix increment operation. We compare these two operations based on Use/ Program flow, Compiler instruction and Benchmark. We demonstrate that ++i is significantly faster than i++ in Java.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Java

i++ vs i=i+1 in Java

Often, i++ and i=i+1 are considered to be same statements but in Java, both statements work differently internally. We will take a look at The compiler instructions used, Typecasting along with the operations and benchmarking the two operations. We see that i=i+1 is always faster than i++.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Java

for loop in Java

for loop is an entry controlled loop that is widely used in Java programming language. Loops are used to repeat a particular coding task where each repetition follows a particular pattern which can be incorporated in a code. We provided several Java examples to demonstrate the concept

OpenGenus Tech Review Team OpenGenus Tech Review Team
Python

Reading and Writing Text Files in Python

This post will cover how to work with text files specifically in Python. We covered Opening a file, Reading a file: read() and readlines(), Writing to files, keeping track of pointers: tell() and seek(), Closing a file and File attributes

Sonal Agrawal Sonal Agrawal
Python

if else statement in Python

We will take a deep look into if else, else if (elif), nested if else and the possible condition statements used in if else in Python. if else is a program control statement and is widely used in almost all programming languages

Sonal Agrawal Sonal Agrawal
C++

Classes and Objects in C++

In C++, a class is a mechanism for creating user-defined data types. A class is used to specify the form of an object and it combines data representation. The variables inside class definition are called as data members and the functions are called member functions.

Kavita Bisht
C++

Scopes in C++

Scope is defined as the extent to which something can be worked with (or a scope is a region of the program ). In C++, there are 9 types: Global scope, Local scope, Namespace scope, Class scope, Statement scope, Function scope, Function parameter scope, Enumeration scope and Template parameter scope

Kavita Bisht
Algorithms

Sleep Sort

Sleep Sort is time-based sorting technique. We create different threads for each individual element present in the array. The thread is then made to sleep for an amount of time that is equal to value of the element for which it was created. Time complexity is O(NlogN + max(input))

Lakshmi Angadi Lakshmi Angadi
Data Structures

Implementing Stack using queues in two ways

A stack is based on the principle of Last-in-First-Out(LIFO). It is commonly used abstract data type with two major operations, namely pop and push. Push() and pop() are carried out in the topmost element, which is the item most recently added to the stack. Push operation adds an element to stack

Vaibhav Gupta
C++

Priority Queue in C++ STL

Priority queue in the STL of C++ is a dynamically resizing container to implement the special case of priority queye under the queue data structure. It is a sequential linear container. The top element of the priority queue is the greatest with all elements arranged in non-increasing order.

Arvind Tatiparti
C++

Queue in C++ STL

Queue in the STL of C++ is a dynamically resizing container to implement the queue data structure. It is a sequential linear container which follows the First In First Out(FIFO) arrangement. We explore the various functions like empty, size, swap, emplace, front, back, push and pop operations

Arvind Tatiparti
Algorithms

Distance between two points in 2D space

Distance between two points is calculated by creating a right-angled triangle using the two points.The line between the two points is the hypotenuse (the longest side, opposite to the 90° angle). We used the Distance formula derived from Pythagorean theorem with a time complexity of O((log N)^2)

Piyush Rajendra Chaudhari Piyush Rajendra Chaudhari
OpenGenus IQ © 2026 All rights reserved â„¢ [email: team@opengenus.org]
Top Posts LinkedIn Twitter