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

Machine Learning (ML)

Convolution Layer: The layer that takes over 70% of time in a Machine Learning model

Convolutional Layer is the most important layer in a Machine Learning model where the important features from the input are extracted and where most of the computational time (>=70% of the total inference time) is spent. Concepts involved are kernel size, padding, feature map and strides

Surya Pratap Singh
Data Structures

AVL Tree: A tree that can stay balanced by rotating

An AVL Tree (Adelson-Velsky and Landis tree) is a self balancing binary search tree such that for every internal node of the tree the heights of the children of node can differ by at most 1. It uses four types of rotations to keep itself balanced and delete, insert and search take O(log N) time

Kyatham Srikanth Kyatham Srikanth
Computer Architecture

Graphics Processing Unit (GPU) vs Tensor Processing Unit (TPU) vs Field Programmable Gate Arrays (FPGA)

Graphics Processing Unit (GPU), Tensor Processing Unit (TPU) and Field Programmable Gate Array (FPGA) are processors with a specialized purpose and architecture. We have compared these in respect to Memory Subsystem Architecture, Compute Primitive, Performance, Purpose, Usage and Manufacturers.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Data Structures

Treap / Randomized cartesian tree

A treap is a height balanced binary tree with heap properties. It is used to store a sequence in a tree, which allows for various applications like searching. It takes O(log N) time complexity for search, insert and delete operations and takes O(N) space complexity

Yash Aggarwal Yash Aggarwal
clustering algorithm

K+ Means Clustering algorithm

K+ Means algorithm is a clustering algorithm and an improvement to K means clustering algorithm and solves the problem of choosing K (number of clusters). It is great at detecting outliers and forming new clusters. The complexity is O(t*(k^2)*n) which is slightly more than K means algorithm

Jash Sheth
Machine Learning (ML)

Types of Data Formats in Machine Learning

Each data format represents how the input data is represented in memory. This is important as each machine learning application performs well for a particular data format and worse for others. Various data formats are NHWC, NCHW, NCDHW and NDHWC

OpenGenus Tech Review Team OpenGenus Tech Review Team
Machine Learning (ML)

Types of Loss Functions in Machine Learning

The various types of loss functions are mean_squared_error, mean_absolute_error, mean_absolute_percentage_error, mean_squared_logarithmic_error, squared_hinge, hinge, categorical_hinge, logcosh, categorical_crossentropy, sparse categorical / binary crossentropy, kullback_leibler_divergence and other

Priyanshu Shekhar Sinha Priyanshu Shekhar Sinha
Machine Learning (ML)

Bayesian model

A Bayesian model is a statistical model where we use probability to represent both the uncertainty regarding the output and input to the model. The basic idea is that we start by assuming something which is adjusted based upon input data. We look into Bayesian Linear Regression as well

Prashant Anand Prashant Anand
Data Structures

Cartesian Tree

A Cartesian tree is a binary rooted tree data structure that can answer range queries can be answered by finding least common ancestors in the tree. An inorder traversal of the tree would give the original sequence used to form the tree. It is used as binary search tree for an ordered sequence

Yash Aggarwal Yash Aggarwal
Data Structures

Prefix sum array

Prefix Sum array is a data structure design which helps us to answer several queries such as sum in a given range in constant time which would otherwise take linear time. It requires a linear time preprocessing and is widely used due to its simplicity and effectiveness.

Yash Aggarwal Yash Aggarwal
cyber security

Heap Spraying Attack

Heap Spraying Attack is a type of cyber attack in which the attacker uses the ability to write the series of bytes in the memory for the running program at various places in the heap. The main aim of the attack is to ensure that the bytes can be accessed later as the vector of the separate attack.

Sanyam J
cyber security

DLL Hijacking Attack

Dynamic Link Libraries (DLL) Hijacking is an type of cyber attack when hackers replace the genuine .dll file with the malicious file. This corrupted file, when used by the application, gives erroneous results as programmed by the hacker.

Sanyam J
cyber security

Password Spraying Attack

Password Spraying is a form of cyber attack similar to a brute force attack, where the hacker tries to gain access to the company system by testing out a small number of commonly used passwords on a large number of accounts. This attack allows a attacker to gain access to multiple accounts

Sanyam J
cyber security

BlueBump Attack

BlueBump attack is an cyber attack for bluetooth enabled devices. The attack allows the attacker to connect to the Bluetooth device of target, and then exploit the link key of the target device. The attack gives the attacker unlimited access to the victim's device which is in a very limited range

Sanyam J
cyber security

Xpath Injection Attack

XPath Injection is an cyber attack used to fetch sensitive data (stored in XML format) from a website, by injecting malicious XPath queries. This attack works for applications that leverage user-supplied information to construct XPath queries.

Sanyam J
Data Structures

2D Fenwick Tree / 2D Binary Indexed Tree

Fenwick Tree is used to answer range or interval queries in an array in logarithmic time. Fenwick tree can be generalized to multiple dimensions. 2D Fenwick tree is one such implementation used to answer sub-matrix queries, i.e. queries in 2 dimensions. It requires the operation to be invertible.

Yash Aggarwal Yash Aggarwal
Data Structures

2D Segment Tree

Segment Tree is used to answer range queries in an array. The data structure can be extended to 2 dimensions to answer sub-matrix queries in logarithmic time. Some examples of these queries are Maximum element in sub-matrix It can be seen as a segment tree of segment trees. We give an example for it

Yash Aggarwal Yash Aggarwal
Algorithms

Cohen Sutherland Line Clipping Algorithm

Cohen Sutherland Algorithm is a linear time complexity line clipping algorithm that cuts lines to portions which are within a rectangular area. It eliminates the lines from a given set of lines which belongs outside the area of interest and clip those lines which are partially inside

Piyush Rajendra Chaudhari Piyush Rajendra Chaudhari
automaton

Von Neumann Cellular Automaton

Von Neumann Cellular Automaton model is the original expression of cellular automaton. It has 29 states which are the minimum for a self-replicating machine and all of which can be grouped into four categories: blank, transmission, confluent and transition states. It simulates real systems

Gabriel Lechenco Gabriel Lechenco
Machine Learning (ML)

Sentiment Analysis using LSTM with Keras

Sentimental analysis is one of the most important applications of Machine learning. It is used extensively in Netflix and YouTube to suggest videos, Google Search and others. In this article, we will build a sentiment analyser from scratch using KERAS framework with Python using concepts of LSTM.

Priyanshu Shekhar Sinha Priyanshu Shekhar Sinha
Machine Learning (ML)

Long Short Term Memory (LSTM)

Long short-term memory (LSTM) units are units of a recurrent neural network (RNN). An RNN composed of LSTM units is often called an LSTM network. A common LSTM unit is composed of a cell, an input gate, an output gate and a forget gate. It has applications in Speech recognition, Video synthesis

Priyanshu Shekhar Sinha Priyanshu Shekhar Sinha
Algorithms

Number of arithmetic progression subsequences in a given set of numbers

The problem is that given an array of n positive integers. The task is to count the number of Arithmetic Progression subsequence in the array. This can be solved using dynamic programming in linear time complexity.

Tanya Anand Tanya Anand
Algorithms

Find the Longest Arithmetic Progression using Dynamic Programming

The problem we will solve is that given a set of integers in sorted order, find length of longest arithmetic progression in that set. This can be solved by brute force in O(N^3) while a dynamic programming approach with take O(N^2) time complexity.

Tanya Anand Tanya Anand
Machine Learning (ML)

Hierarchical Clustering

Hierarchical clustering is a method of clustering. In this method, we find a hierarchy of clusters which looks like the hierarchy of folders in your operating system. This hierarchy of clusters will resemble a tree structure and it is called dendrogram

Mohamed Almaki Mohamed Almaki
Machine Learning (ML)

Kernel Principal Component Analysis (KPCA)

Kernel Principal Component Analysis (KPCA) is a non-linear dimensionality reduction technique. It is an extension of Principal Component Analysis (PCA) - which is a linear dimensionality reduction technique - using kernel methods.

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