×
Home Discussions Write at Opengenus IQ
×

Search anything:

  • DSA Cheatsheet
  • HOME
  • Jobs
  • About
  • One Liner
  • RANDOM
  • Track your progress
  • Deep Learning (FREE)
  • Join our Internship 🎓
  • AI Engineering
  • Scholarship
  • Campus Ambassador

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.

Machine Learning (ML)

Restricted Boltzmann Machines

Boltzmann Machines are bidirectionally connected networks of stochastic processing units. It can be used to learn important aspects of an unknown probability distribution based on samples from the distribution. We explore Gibbs Sampling and Contrastive Divergence.

Piyush Mishra
Machine Learning (ML)

Perceptron, the building block of modern AI

A perceptron is an artificial neuron that essentially receives input from an input layer, processes the input with the help of an activation function (the Heaviside step function) and gives out the output in the form of either a 0 or 1. The perceptron was invented in 1957 by Frank Rosenblatt

Piyush Mishra
C Programming

Multithreading and pthread in C

In this article, we have explored how the pthread library in C can be used to implement concepts of multithreading. A thread is a single sequence stream within in a process.

OpenGenus Tech Review Team OpenGenus Tech Review Team
C Programming

Semaphore in C

Semaphore is a data handling technique which is very useful in process synchronization and multithreading. We used the POSIX semaphore library and use the functions sem_wait, sem_post, sem_open and sem_init for implementing semaphore in C.

OpenGenus Tech Review Team OpenGenus Tech Review Team
multiplication

Toom Cook method for multiplication

Multiplication of two n-digits integers has time complexity at worst O(n^2).Toom-Cook algorithm is an algorithm for multiplying two n digit numbers in Θ(c(k)n^e) time complexity. The idea is based on divide-and-conquer technique

Kyatham Srikanth Kyatham Srikanth
matrix multiplication

Cannon’s algorithm for distributed matrix multiplication

Cannon's algorithm is a distributed algorithm for matrix multiplication for two-dimensional meshes. It is especially suitable for computers laid out in an N × N mesh. The main advantage of the algorithm is that its storage requirements remain constant and are independent of the number of processors.

Kyatham Srikanth Kyatham Srikanth
matrix multiplication

Freivalds’ algorithm for verifying Matrix Multiplication

Freivalds' algorithm is a probabilistic randomized algorithm used to verify matrix multiplication. Given three n x n matrices, Freivalds' algorithm determines in O(kn^2) whether the matrices are equal for a chosen k value with a probability of failure less than 2^-k.

Kyatham Srikanth Kyatham Srikanth
matrix multiplication

Russian peasant multiplication algorithm

Russian peasant multiplication is an interesting way to multiply numbers that uses a process of halving and doubling without using multiplication operator. The idea is to double the first number and halve the second number repeatedly till the second number doesn’t become 1

Kyatham Srikanth Kyatham Srikanth
matrix multiplication

Strassen’s Matrix Multiplication algorithm

Strassen’s Matrix Multiplication algorithm is the first algorithm to prove that matrix multiplication can be done at a time faster than O(N^3). It utilizes the strategy of divide and conquer to reduce the number of recursive multiplication calls from 8 to 7 and hence, the improvement.

Kyatham Srikanth Kyatham Srikanth
C++

Most commonly used utilities in Standard Template Library in C++

This is an overview of the most commonly used utilities in Standard Template Library in C++. We have covered Iterator, Vector, Stack, Queue, Priority Queue, Map, Set and Pair utilities.

Vimal Kumar Vimal Kumar
C++

Standard Template Library in C++

Standard Template Library in C++ is a pre-defined generic implementation of most widely used data structures and algorithms. By generic implementation it means that there is a single implementation of various Classes and Functions which works with multiple datatypes by the use of templates.

Vimal Kumar Vimal Kumar
hacktoberfest

Contribute to Hacktoberfest 2018 at OpenGenus

Find super easy and effective contribution scopes at OpenGenus for Hacktoberfest 2018. It is organized by DigitalOcean, GitHub and Twilio. We are empowering developers to reach their potential at this special event.

OpenGenus Tech Review Team OpenGenus Tech Review Team
clustering algorithm

Introduction to Clustering Algorithms

clustering is an unsupervised learning problem, since it seeks to classify or divide a dataset based on attributes of the points themselves rather than any given labels.

Ronit Ray Ronit Ray
clustering algorithm

K-means Clustering

k-means clustering is a method of vector quantization, originally from signal processing, that is popular for cluster analysis in data mining. The algorithm will categorize the items into k groups of similarity, Initialize k means with random values For a given number of iterations: Iterate through

Ronit Ray Ronit Ray
clustering algorithm

DBSCAN Clustering Algorithm

Density-based spatial clustering of applications with noise is a data clustering unsupervised algorithm. The key idea is to divide the dataset into n ponts and cluster it depending on the similarity or closeness of some parameter.

Ronit Ray Ronit Ray
linked list

Flattening a Linked List

In this article, we explored an algorithm to flatten a linked list where each node has two pointers with one to another linked list. Our approach explored a novel application of the merge component of merge sort to solve this problem.

OpenGenus Tech Review Team OpenGenus Tech Review Team
linked list

Find the middle element of a singly Linked List

In this article, we will explore two approaches to find the middle element of a singly linked list. In one approach, we will use one traversal to count the number of elements and the other to find the middle element. The second approach is to use one traversal and concept of fast and slow pointers.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Algorithms

Graph Coloring Greedy Algorithm [O(V^2 + E) time complexity]

In this article, we have explored the greedy algorithm for graph colouring. graph coloring is a special case of graph labeling ; it is an assignment of labels traditionally called "colors" to elements of a graph subject to certain constraints.

Pankaj Sharma Pankaj Sharma
Algorithms

Wigderson Graph Colouring Algorithm in O(N+M) time

Wigderson Algorithm is a graph colouring algorithm to color any n-vertex 3-colorable graph with O(√n) colors, and more generally to color any k-colorable graph. In this article, we have explored this wonderful graph colouring article in depth.

Pankaj Sharma Pankaj Sharma
Artificial Intelligence

L1 and L2 Regularization Methods

A regression model that uses L1 regularization technique is called Lasso Regression and model which uses L2 is called Ridge Regression. The key difference between these two is the penalty term. Lasso shrinks the less important feature’s coefficient to zero

OpenGenus Tech Review Team OpenGenus Tech Review Team
Artificial Intelligence

Gradient descent: Mathematical view

Gradient descent algorithm is one of the most popuarl algorithms for finding optimal parameters for most machine learning models including neural networks. The basic method that this algorithm uses is to find optimal values for the parameters that define your ‘cost function’.

JUNAID N Z JUNAID N Z
Artificial Intelligence

Regularization

Regularization is a method used to reduce the variance of your model and increase the bias. It is used when your model overfits the training data. Another method to do regularization is called Lasso regression. This is the solution to Biase-Variance Dilemma.

JUNAID N Z JUNAID N Z
Artificial Intelligence

Cross Validation

Cross Validation is a procedure used to evaluate your machine learning model on limited sample of data. With the help of this, we can actually tell how well our model performs on unseen data. Other variants are stratified cross validation and leave one out cross validation. Learn through an example

JUNAID N Z JUNAID N Z
Artificial Intelligence

Decision Trees

Decision Tree is a popular machine learning algorithm mainly used for classification. Concepts of entropy and information gain are required to apply decision tree for a data set. It is used for non-linear classification and regression Learn through an example

JUNAID N Z JUNAID N Z
red black tree

Red Black Tree: Deletion

We will explore the deletion operation on a Red Black tree in the session. Deleting a value in Red Black tree takes O(log N) time complexity and O(N) space complexity. A red–black tree is a kind of self-balancing binary search tree in computer science.

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