×
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.

Software Engineering

Introduction to Canvas

The canvas element is part of HTML5 specification and allows for rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap. Canvas also helps in making 2D games, animations, scenes or any graphics in general using JavaScript.

Neeraj Durgapal Neeraj Durgapal
Software Engineering

Representing Strings in C

Compared to other languages, C is a low-level language. It does not have any specific data-type specific for a String. Since there is no built-in data-type in C language for String, it is handled using an array of characters. A String in C can be defined as an array of characters.

Sagar
Software Engineering

Concurrency in C++

Concurrency is having multiple threads of execution for a given process. As of today, C++ does not directly support it. However, several libraries exist that will tie a given function to a new thread of execution. We look into threads, race condition, mutex, atomicity, asynchronous tasks

vineet
Algorithms

Understanding pairing nodes in Graphs (Maximum Matching)

A maximal matching is a matching M of a graph G with the property that if any edge not in M is added to M, it is no longer a matching, that is, M is maximal if it is not a subset of any other matching in graph G. We cover Blossom, Hungarian and Hopcroft Karp algorithm

Sadanand Vishwas Sadanand Vishwas
Algorithms

Blossom Maximum Matching Algorithm

The blossom algorithm, sometimes called the Edmonds' matching algorithm, can be used on any graph to construct a maximum matching. The blossom algorithm improves upon the Hungarian algorithm by shrinking cycles in the graph to reveal augmenting paths. The blossom algorithm will work on any graph.

Sadanand Vishwas Sadanand Vishwas
Algorithms

Hungarian Maximum Matching Algorithm

The Hungarian maximum matching algorithm, also called the Kuhn-Munkres algorithm, is a O(V3) algorithm that can be used to find maximum-weight matchings in bipartite graphs, which is sometimes called the assignment problem. A bipartite graph can easily be represented by an adjacency matrix

Sadanand Vishwas Sadanand Vishwas
Algorithms

Hopcroft Karp algorithm

The Hopcroft–Karp algorithm is an algorithm that takes as input a bipartite graph and produces as output a maximum cardinality matching, it runs in O(E√V) time in worst case.

Sadanand Vishwas Sadanand Vishwas
Software Engineering

if else in Kotlin

if else is a conditional control flow statement which is commonly used and is supported by all major OOP languages. We explore if else in Kotlin in this article

Thura Htue Ko Ko
Algorithms

Pigeonhole Sort

Pigeonhole sorting is a sorting algorithm that is suitable for sorting lists of elements where the number of elements and the number of possible key values are approximately the same.

Harshita Sahai Harshita Sahai
Algorithms

Cocktail Shaker Sort / Bidirectional bubble sort

Cocktail Sort is a variation of Bubble sort. The Bubble sort algorithm always traverses elements from left and moves the largest element to its correct position in first iteration and second largest in second iteration and so on. It traverses through a given array in both directions alternatively.

Harshita Sahai Harshita Sahai
Algorithms

Odd Even Sort / Brick Sort

Odd Even Sort uses parallel algorithm which is based on bubble sort technique. It is also known as Brick Sort. It has a best time complexity of O(N) whereas the worst case time complexity is O(N^2)

Harshita Sahai Harshita Sahai
Python

Implementing User Authentication in Django

Django comes with a built-in user authentication system, which handles objects like users, groups, user-permissions and some cookie-based user sessions. Django’s User authentication not only authenticates (verifying the user identity) the user but also authorizes him.

Gautam Aggrawal Gautam Aggrawal
Algorithms

Number of unique partitions of an integer

Given a positive integer, the problem is to find all the Unique Partitions of the number. We can understand the above problem using some basic examples. Naive approach takes O((N^N)log N) time complexity while Dynamic programming takes O(2^N)

Sajal Tikariha
Algorithms

Number of non unique Partitions of an Integer

The problem is to find number of non unique partitions of an integer. To solve this problem, we will explore naive approach O(N^N), Dynamic programming approach O(N^2) and Optimal approach O(log N)

Sajal Tikariha
kotlin

When in Kotlin

When is one of the control flow of Kotlin. If you are coming from java, When is a bit similar to Switch. Even if you don't know java, think When as powerful nested if else. If you don't know any programming language, then think When as a plain enlglish term WHEN.

Thura Htue Ko Ko
Data Structures

Pairing Heap

Pairing heaps are a type of heap data structures which have fast running time for their operations. They are modificaton of Binomial Heap. Basically it is a type of self adjusting Binomial Heap which adjusts or rearrange themselves during the operations, due to which they remain balanced.

Nisarg Shah Nisarg Shah
C++

Multipath Inheritance in C++

Multipath Inheritance in C++ is derivation of a class from other derived classes, which are derived from the same base class.This type of inheritance involves other inheritance like multiple, multilevel, hierarchical etc.

Chetali Kataria
C++

Hybrid Inheritance in C++

In C++, Hybrid inheritance is done when we have to mix different types of inheritance within a single program, for example, mixing single inheritance with multiple inheritance or multiple inheritance within a single program.

Chetali Kataria
C++

Single inheritance in C++

In C++, Single Level Inheritance or Single Inheritance is the mechanism of deriving a class from only one single base class.

Chetali Kataria
C++

Struct in C++

struct or Structure is a user defined data type which allows you to combine data items of different kinds. Structures are used to group together different data elements (types of variables) under the same name. These data elements, known as members, can have different types and different lengths.

Chetali Kataria
C++

Output in C++

Output Stream: The stream used for output is the output stream. If the direction of flow of btyes is from main memory to device( example :display screen ) then this process is called output. We explored cout, clog and cerr along with formatted output

Chetali Kataria
Java

Introduction to Java Server Pages (JSP)

JSP stands for Java Server Pages. It is a server side technology used for creating dynamic and platform independent web pages. JSP is the advanced version of Servlets.

Lakshmi Angadi Lakshmi Angadi
C++

Stack in C++ STL

Stack in the STL of C++ is a dynamically resizing container. Stack class is an container adapter. Containers or container classes store objects and data. There are in total seven standard "first-class" container classes and three container adaptor classes and only seven header files

Piyush Rajendra Chaudhari Piyush Rajendra Chaudhari
Java

Map in Java

The java.util.Map interface represents a mapping between a key and a value. The Map interface is not a subtype of the Collection interface. Therefore it behaves a bit different from the rest of the collection types.

Kavita Bisht
C++

Multiple Inheritance in C++

In C++, when a subclass inherits from multiple base classes, it is known as multiple inheritance. The Dreaded Diamond refers to a class structure in which a particular class appears more than once in a class's inheritance hierarchy. To prevent it, virtual base class is used

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