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

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
Linux

Linux piping and redirection

In this article we discuss piping and redirection whereby we can alter the flow of input or output streams. This technique enables a user to create custom commands by combining multiple smaller commands.

Erick Lumunge
Algorithms

Find starting point of loop in linked list

In this article, we have explored three different algorithmic techniques to find starting point of loop in linked list.

Shubhankar Maurya Shubhankar Maurya
C++

Compiling a C program using GCC

In this article, we have covered how to compile a C program using the GCC compiler along with the different stages such as Preprocessing, compiling, assembling and linking.

Nancy Korir
Linux

Linux user management

Linux is a multiuser operating system and thus can support several users working on a given system concurrently. User management entails adding, modification(editing, suspension) and removal of user accounts along with their permissions.

Erick Lumunge
Linux

Linux process management commands: top, ps, kill, jobs, fg, bg

A process is a program in execution, it is created by any command executed by a user, In this article we discuss types of processes and the common commands used for process management.

Erick Lumunge
TensorFlow

Dropout operation in TensorFlow (tf.nn.dropout)

This article discusses about a special kind of layer called the Dropout layer in TensorFlow (tf.nn.dropout) which is used in Deep Neural Networks as a measure for preventing or correcting the problem of over-fitting.

Vivek Praharsha Vivek Praharsha
Software Engineering

Rumbaugh, Booch and Jacobson Methodologies

In this article, we have explored three object modeling techniques namely Rumbaugh, Booch and Jacobson Methodologies along with code examples.

Alex Liu
Linux

Mounting and unmounting in Linux

Mounting is simply making a file system accessible in a computer system. In this article we discuss mounting and unmounting in the Linux operating System.

Erick Lumunge
Linux

Linux memory management: An overview

Since the beginning of computing there has existed a need for more memory, today it is solved by various strategies virtual memory is the most successful, it makes the system appear to have more than it actually has. In this article we go over other memory management strategies in the Linux system.

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