Featured Resource One-line Algorithms questions & facts Random algorithm facts for quick interview revision when you only have a minute to spare.
Book DSA Cheatsheet A Cheatsheet for data structures and algorithms practice, coding interview and problem-solving intuition.
Featured Resource One AI Systems Question Practice AI and ML systems prompts across P/D disaggregation, inference, training, RAG, platform engineering and reliability.
Software Engineering String Pool in Java In this article, I have explained the String Pool in Java and how to implement it in Java programming. I have covered basic concepts of this topic. Also, I have explain the diagram.
Machine Learning (ML) Multinomial/ Multimodal Naive Bayes Multimodal naive bayes is a specialized version of naive bayes designed to handle text documents using word counts as it's underlying method of calculating probability.
Machine Learning (ML) Byte Pair Encoding for Natural Language Processing (NLP) Byte Pair Encoding is originally a compression algorithm that was adapted for NLP usage. Byte Pair Encoding comes in handy for handling the vocabulary issue through a bottom-up process.
Algorithms Travelling Salesman Problem (Bitmasking and Dynamic Programming) In this article, we will start our discussion by understanding the problem statement of The Travelling Salesman Problem perfectly and then go through the basic understanding of bit masking and dynamic programming.
Algorithms Travelling Salesman Problem (Basics + Brute force approach) In this article we will start our discussion by understanding the problem statement of The Travelling Salesman Problem perfectly and then go through the naive bruteforce approach for solving the problem using a mathematical concept known as "permutation"
Software Engineering script and scriptreplay in linux script and scriptreplay are pre-installed commands in Linux. They are more like the utilities which allow the user to record their terminal session and to refer to it anytime he/she needs it.
Algorithms Cycle Detection Algorithms A cycle in a data structure as we have already seen is a condition with no end. A few popular cycle detection algorithms are Floyd's cycle detection algorithm and Brent’s Cycle Detection Algorithm.
Data Structures Finding the length of a loop in linked list In this article, we will look at the method of finding the length of a loop in a linked list. For that you should be able to understand Floyd's loop detection algorithm.
Data Structures Detect a loop in a linked list (3 methods) A Loop in a linked list is a condition when a Linked list does not have any end. We have explored different ways to detect loop in a linked list like by marking visited nodes, using hashmap and Floyd's cycle finding algorithm.
Software Engineering Different Types Of Databases There are 6 different types of Databases which we have covered in depth in our article. It includes centralized, distributed, relational, NoSQL, Object Oriented and Hierarchical database.
Software Engineering Alternatives to Vector in C++ In this article, we have explored the alternatives of Vector in C++ such as array, Deque, Linked List, map and multiset.
Algorithms Smart and Safe Cab Finder Algorithm Smart and Safe Cab Finder Algorithm is used to locate the nearest and safest cab for passengers using specific designed algorithm. This algorithm is designed to give most safe riding suggestions of all the cabs available in the vicinity.
Software Engineering Struct pointer in C In this article, we will learn about the structure pointers , in C/C++ we have a feature to use pointers with Structure. Like pointers to other data types we can use pointer to structure.
Software Engineering Typedef function pointer in C The keyword typedef is used to define new data type names in C/C++. Here we should not not mistaken that we are creating any new data type, we should carefully note that we are just giving new names to the data types already available to us by C.
Algorithms Minimum Bitwise OR operations to make any two array elements equal Given an array of integers and an integer K, we can perform the Bitwise OR operation between K and elements of the array any number of times. We have to count minimum number of such operations that are required to make any two elements of the array equal.
Algorithms MiniMax Algorithm: How Machine thinks? Minimax algorithm is a recursive algorithm used to choose an optimal move for a player, assuming that the opponent is also playing optimally. As its name suggests, its goal is to minimize the maximum loss (reduce the worst-case scenario).
Algorithms Pancake Sort Algorithm (in-place, not stable) Pancake sort is a sorting algorithm in which the only allowed operation is to "flip" one end of the list. It is inplace but not stable. Pancake sort is called so because it resembles sorting pancakes on a plate with a spatula, where you can only use the spatula to flip some of the top pancakes.
Machine Learning (ML) Transformer Networks: How They Can Replace GANs After an introduction to how transformers work, and a brief look at how they process text data, we see how they can also generate images and audio data just like GANs.
Software Engineering Exploring the CodeForces API In this article, we will explore the Codeforces API. With codeforces API, one can get access to limited data from in machine-readable JSON format.
Software Engineering Types of Load Balancing Algorithms In this article, we will delve into the different types of load balancing algorithms. The different types of Load Balancing algorithms are Round-Robin, Weighted Round Robin, Least Connections, Hashing Methods, URL Hash Method, Source IP Hash Method, Random Algorithm and Least Response Time Method.
Data Structures Different Self Balancing Binary Trees A self-balancing binary tree is any tree that automatically keeps its height small in the face of arbitrary insertions and deletions on the tree. We have explored different types like 2 3 tree, Red Black tree, AVL Tree, B Tree, AA Tree, Scapegoat Tree, Splay Tree, Treap and Weight Balanced Tree.
Machine Learning (ML) “Show and Tell: A Neural Image Caption Generator” by Vinyals This article explains the conference paper "Show and tell: A neural image caption generator" by Vinyals and others. This paper showcases how it approached state of art results using neural networks and provided a new path for the automatic captioning task.
Software Engineering Regex Expressions in Java Regex Expressions are a sequence of characters which describe a search pattern. It is generally used for 'find', 'find and replace' as well as 'input validation'. This article shall focus on how to write a Regex Expression in Java.
Software Engineering Snake Game in Java (OOP design concepts) In this article, we have explored how to design the classical Snake Game using Object Oriented Programming (OOP) concepts and implement it using Java.
Data Structures Introduction to 2-3 Trees A 2-3 Tree is a tree data structure where every node with children has either two children and one data element or three children and two data elements. A node with 2 children is called a 2-NODE and a node with 3 children is called a 3-NODE.