×
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

for loop in C

Loop is a programming concept which is natively supported by C. Loops are used to repeat a particular coding task where each repetition follows a particular pattern which can be incorporated in a code. Example of such a task is printing integers from 1 to 10.

Harshita Sahai Harshita Sahai
Software Engineering

Markdown cheatsheet

In this markdown cheatsheet, you will learn about markdown heading, table, list, link, image, code, quote, highlight, bold, italics, strikethrough and others. Markdown is a simple lightweight markup language which is widely used as a formatting language on the web.

OpenGenus Tech Review Team OpenGenus Tech Review Team
Software Engineering

Integer datatype in C: int, short, long and long long

In C programming language, integer data is represented by its own in-built datatype known as int. It has several variants which includes int, long, short and long long along with signed and unsigned variants The size of int is 4 bytes and range is -2147483648 to 214748364 long long is of 16 bytes

OpenGenus Tech Review Team OpenGenus Tech Review Team
Algorithms

Tarjan's Algorithm to find Strongly Connected Components

Tarjan's Algorithm is an efficient graph algorithm to find the strongly connected components in a directed graph in linear time by utilizing Depth First Search traversal of a graph. The key idea used is that nodes of strongly connected component form a subtree in the DFS spanning tree of the graph.

Pradyumn
Algorithms

Cycle Sort

Cycle sort is a comparison based sorting algorithm which forces array to be factored into the number of cycles where each of them can be rotated to produce a sorted array with O(N^2) time complexity It is an in-place and unstable sorting algorithm and is optimal in terms of number of memory writes

Kavita Bisht
Algorithms

Fibonacci Search

Fibonacci search is an efficient search algorithm based on divide and conquer principle using Fibonacci series that can find an element in the given sorted in O(log N) time complexity. It is better than Binary search as it is more cache friendly and uses only addition and subtraction operations.

Harshita Sahai Harshita Sahai
Data Structures

Quadtree

Quadtree is a tree data structure which is used to represent 2-dimensional space. It finds major applications in computer graphics where it is used to represent relations between objects in a 2D space and for image compression. We discussed point region (PR) quadtree which store points in a 2D space

Yash Aggarwal Yash Aggarwal
Algorithms

Bresenham Line Drawing Algorithm

Bresenham line drawing Algorithm is a Line Drawing Algorithm which calculates all intermediate points over the interval between start and end points, implemented with integer numbers and integer arithmetic such as addition, subtraction and avoids heavy operations like multiplication and division

Piyush Rajendra Chaudhari Piyush Rajendra Chaudhari
Machine Learning (ML)

Neural Style Transfer using CNN

We demonstrate the easiest technique of Neural Style or Art Transfer using Convolutional Neural Networks (CNN). We use VGG19 as our base model and compute the content and style loss, extract features, compute the gram matrix, compute the two weights and generate the image with the other style

Mohamed Almaki Mohamed Almaki
Sorting Algorithms

Comb Sort

Comb sort is a comparison based sorting algorithm and is an improvement to Bubble Sort by using the idea of killing the turtles. In Bubble Sort algorithm, the gap between the elements that are compared is always 1. Comb sort works on the same principles as Bubble Sort but uses a larger gap.

Shreya Singh
Dynamic Programming (DP)

Longest Bitonic Sequence

The problem we will solve is given a sequence an array of positive integers and have to find the length of longest bitonic subsequence. Using dynamic programming ideas, we will solve this on O(N^2) time complexity

Tanya Anand Tanya Anand
Sorting Algorithms

Heap Sort

Heapsort is an efficient in-place comparison based sorting algorithm with O(N log N) time complexity and uses a data structure to achieve it. It uses a complete Binary Heap data structure to sort the elements depending on whether the heap is Min Heap (ascending) or Max heap (descending).

P Arun Kumar P Arun Kumar
Sorting Algorithms

Radix Sort

Radix Sort is an efficient non-comparison based sorting algorithm which can sort a dataset in linear O(N) time complexity and hence, can be better than Quick Sort. It uses Counting Sort as a subroutine. It uses the fact that number of digits in an Integer is very less compared to the data

Kavita Bisht
automaton

John Conway's Game of Life

The Game of Life is a cellular automaton created in 1970 by the British mathematician John Horton Conway. The game is a zero-player game, where you include an initial input and watch how the board evolve through the generations and if the life will prosper or will be extinct over time.

Gabriel Lechenco Gabriel Lechenco
Data Structures

Van Emde Boas tree

Van Emde Boas tree is a tree data structure which implements an associative array with m-bit integer keys. It performs all operations (insert, delete, lookup, maximum, minimum, successor and predecessor) in O(log log M) time, where M is the maximum number of elements that can be stored in the tree.

Yash Aggarwal Yash Aggarwal
Sorting Algorithms

Counting Sort

Counting sort is an algorithm for sorting integers in linear time. It can perform better than other efficient algorithms like Quick Sort, if the range of the input data is very small compared to the number of input data. It is a stable, non-comparison and non-recursive based sorting

Rohit Kumar Rohit Kumar
Algorithms

DDA (Digital Differential Analyzer) Line Drawing Algorithm

Digital differential analyzer is a line drawing algorithm that is based on incremental method which calculates all intermediate points over the interval between start and end points. It uses the concept that rate of change in a straight line in constant and is a linear time complexity O(N) algorithm

Piyush Rajendra Chaudhari Piyush Rajendra Chaudhari
Sorting Algorithms

Bucket Sort Algorithm

Bucket sort is a comparison sort algorithm that works by distributing the elements of an array into a number of buckets and then each bucket is sorted individually using a separate sorting algorithm. It is useful when the input is uniformly distributed over a range in linear time complexity

Saranya Jena Saranya Jena
Data Structures

Queue

Queue is a linear data structure that can be used to store data in order by imposing rules on data insertion and deletion. It has found immense use and can be implemented using arrays and linked lists. The operations include enqueue and dequeue which are of O(1) time complexity with space of O(N)

Gaurav Kumar Ponkiya Gaurav Kumar Ponkiya
Algorithms

Bresenham’s Circle Drawing Algorithm

Bresenham’s Circle Drawing Algorithm is a circle drawing algorithm that selects the nearest pixel position to complete the arc. The unique part of this algorithm is that is does only integer arithmetic which makes it faster than other algorithms using floating point arithmetic

Piyush Rajendra Chaudhari Piyush Rajendra Chaudhari
Data Structures

Y fast trie

Y-fast trie is a data structure used to store integers from a bounded domain. It has two data structures X fast trie and balanced binary search tree with the change being we operate on representative values r in X-fast tries, and the leaf nodes point to balanced binary search trees instead of values

Yash Aggarwal Yash Aggarwal
Data Structures

X-fast trie

X-fast trie is a data structure used to store integers from a bounded domain. It is a bitwise trie, i.e. a binary tree where each subtree stores values having binary representations with common prefix. It is a trie of hash tables and supports successor and predecessor operations in log log U time

Yash Aggarwal Yash Aggarwal
cyber security

SamSam Ransomware: made $850K by attacking government organizations

SamSam Ransomware uses a custom infection in targeted attacks and the ransomware have been made by SamSam group. The ransomware has been publically available since 2015 and has been known for targeting government entities in USA. The ransomware is developed privately and modernized regularly

Sanyam J
cyber security

Jigsaw Ransomware: Pay $150 in bitcoin with live support or get files deleted

Jigsaw Ransomware (BitcoinBlackmailer) targets Microsoft Windows first appeared in 2016. The ransomware is desgined to spread through malicious attachments in spam emails. It not only encrypts the user's files but also deletes them if the user takes too long to make the ransom payment of $150

Sanyam J
Machine Learning (ML)

Fully Connected Layer: The brute force layer of a Machine Learning model

Fully Connected layers in a neural networks are those layers where all the inputs from one layer are connected to every activation unit of the next layer. In most popular machine learning models, the last few layers are full connected layers which compiles the data extracted by previous layers

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