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

Algorithms

Maximum size square submatrix with all 1s

In this article, we have explored various ways to solve the problem of finding maximum size square submatrix with all 1s. This can be solved using Dynamic Programming.

Kartheesh Reddy Koripelli
Algorithms

De Bruijn Sequences

In this article, we have explored De Bruijn Sequences and 3 algorithms to calculate De Bruijn Sequences using ideas like Hamiltonian Cycle, Euler's path.

Aravind Mohandas Aravind Mohandas
Algorithms

Find Cube root using Binary Search

In this article, we have explained the algorithm to Find Cube root using Binary Search along with Time and Space Complexity analysis.

Shubhankar Maurya Shubhankar Maurya
Algorithms

Search an element in Sorted 2D matrix

In this article, we will learn about how we can search for a particular element in a sorted 2D matrix.

TJ Kapil
Algorithms

Find Square Root of Number using Binary Search

In this article, we have discussed how to find square root of a number using binary search.

Gaduputi Thanusree
Machine Learning (ML)

One hot encoding in TensorFlow (tf.one_hot)

This article discusses about one of the commonly used data pre-processing techniques in Feature Engineering that is One Hot Encoding and its use in TensorFlow.

Vivek Praharsha Vivek Praharsha
Compiler Design

Decompilation

Decompilation is the process of converting executable machine code into human readable code. In this article we discuss the steps involved in the decompilation process.

Erick Lumunge
Compiler Design

Disassembly

Disassembly involves recreating assembly code from binary machine code. In this article we discuss concepts surrounding disassembly and a basic algorithm used for disassembly.

Erick Lumunge
Compiler Design

Assembler, Linker and Loader

An assembler is responsible for converting source code into target code. In this article we discuss the tasks of an assembler, linker and loader. We also discuss the design issues faced by both assemblers and linkers.

Erick Lumunge
Compiler Design

Three address code

Three address code is generated by a compiler for code optimization, it uses a maximum of three addresses to represent any statement. In this article we discuss it.

Erick Lumunge
computational geometry

Map Overlay Problem

In this article, we will be exploring the Map Overlay Problem which is a core problem in Computational Geometry. We have explored simple variants of Map Overlay Problem.

Mohd Ehtesham Uddin Qureshi Mohd Ehtesham Uddin Qureshi
System Design

Redundant arrays of independent disks (RAID)

In this article, we have covered what are Redundant arrays of independent disks and the commonly used RAID levels. This is an important topic in Memory management / storage in System Design.

Nancy Korir
TensorFlow

Initializing Tensors in TensorFlow

In this article, we have explored the idea of Tensors in TensorFlow, different types of tensor and how to initialize and use them.

Nana Kwame Kankam
Data Structures

Circular Doubly Linked List

In this article, we have explored Circular Doubly Linked List and operations that can be performed on it. It is a combination to two Data Structures namely Circular Linked List and Doubly Linked List.

Kartheesh Reddy Koripelli
System Design

Distributed Operating System

In this article, we have explored the idea of Distributed Operating System in depth along with internal working details, different types and examples.

Harshita Singh Harshita Singh
System Design

Different types of File System

In this article, we have explored the Different types of File Systems such as Distributed File System, Flash File System and much more with examples of each type and how they are used in real applications.

Adelaide Guidotti
Linux

Linux threads: Creation, Data passing, Waiting

A thread is the basic unit of processor utilization that consists of a program counter, stack and registers. In this article we discuss how they are created, how data is passed between thread, waiting in threads, return values and attributes.

Erick Lumunge
Linux

Linux threads: cancellation, data and cleanup

A thread is the basic unit of processor utilization that consists of a program counter, stack and registers. In this article we discuss how they are cancelled, how data is handled within threads and cleaning up to prevent memory leaks.

Erick Lumunge
Compiler Design

Compiler Architecture

Compiler architecture differs based on the granularity of data passing through the compiler and the flow of control between compiler modules. In this article we discuss these two factors, properties of good compiler, portability and retargetability.

Erick Lumunge
Compiler Design

Interpreters (Recursive & Iterative) in Compiler Design

Intermediate code can either be directly executed by an interpreter which involves little preprocessing or by a compiler which requires a lot of preprocessing followed by code generation. In this article we discuss interpretation and the types of interpreters.

Erick Lumunge
Dynamic Programming (DP)

Dynamic Programming on Trees

In this article, we have explored the idea of Dynamic Programming on Trees in depth and presented some practice problems.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Data Structures

Introduction to Tree Data Structure

In this article, we have presented a detailed introduction to Tree Data Structure. This will quickly give you the idea of Tree, how it is implemented and the different types that are used.

Ue Kiao, PhD Ue Kiao, PhD
Linux

Linux processes: signals, termination, zombies, cleanup

A process is a running instance of a program, it starts when a command is executed. In this article we discuss signals, process termination, wait system calls, zombies and their cleanup.

Erick Lumunge
Linux

Linux processes: listing, creation, scheduling

A process is a running instance of a program, it starts when a command is executed. In this article we discuss various process manipulation functions and their implementation in the Linux system.

Erick Lumunge
Linux

Partitioning in Linux

Partitioning a disk is the first step before installing a file system since creation of any files or directories is done in a file system. In this article we discuss partitioning and demonstrate how to partition a drive using parted utility.

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