Skip to main content

78 docs tagged with "python"

View all tags

A* Algorithm

In this tutorial, we will learn about A* Algorithm and its implementation in Python, and C++ with detailed explanations and examples.

A* Algorithm

This page explains the A* Algorithm for finding the shortest path in a graph using heuristics.

Arrays and Strings

In this tutorial, we will learn about arrays and strings in programming. We will discuss what arrays and strings are, how they are used, and how they are different from each other.

Bellman-Ford Algorithm

In this tutorial, we will learn about the Bellman-Ford Algorithm and its solution using Dynamic Programming in Python, Java, and C++ with detailed explanations and examples.

Bellman-Ford Algorithm

This page explains the Bellman-Ford Algorithm for finding the shortest path in a graph with negative weight edges.

Bin Packing Algorithm

In this , we will learn about Bin Packing Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Borůvka's Algorithm

This page explains Borůvka's Algorithm, an algorithm for finding the minimum spanning tree (MST) of a graph.

Boyer Moore Majority voting algorithm

In this tutorial, we will learn about Moore's Voting Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Breadth-First Search

This page explains Breadth-First Search for traversing or searching tree or graph data structures.

Coin Change Problem using Dynamic Programming

In this tutorial, we will learn about the Coin Change Problem and its solution using Dynamic Programming in Python, Java, C++, and JavaScript with detailed explanations and examples.

Depth-First Search

This page explains Depth-First Search for traversing or searching tree or graph data structures.

Deque in Data Structures and Algorithms

In this tutorial, we will delve into deque (double-ended queue) in Data Structures and Algorithms. We'll explore what deque is, how it's used, and its implementation in various programming languages.

Dijkstra's Algorithm

In this tutorial, we will learn about Dijkstra's Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Dijkstra's Algorithm

This page explains Dijkstra's Algorithm for finding the shortest path in a graph, with code implementations and resources for further learning.

Dutch National Flag Algorithm

In this tutorial, we will learn about the Dutch National Flag Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Edit Distance using Dynamic Programming

In this tutorial, we will learn about the Edit Distance problem and its solution using Dynamic Programming in Python, Java, C++, and JavaScript with detailed explanations and examples.

Edmonds-Karp Algorithm

This page explains the Edmonds-Karp Algorithm, an implementation of the Ford-Fulkerson method for computing the maximum flow in a flow network.

Fibonacci Sequence using Dynamic Programming

In this tutorial, we will learn about the Fibonacci sequence and its implementation using Dynamic Programming in Python, Java, C++, and JavaScript with detailed explanations and examples.

Floyd-Warshall Algorithm

This page explains the Floyd-Warshall Algorithm for finding the shortest paths between all pairs of vertices in a weighted graph.

Ford Fulkerson's Algorithm

This page explains the Ford Fulkerson's Algorithm for finding the maximum flow,residual flowin a network flow graph.

Graphs

In this tutorial, we will learn about graphs in Data Structures and Algorithms. We will discuss what graphs are, how they are used, and why they are important.

Hashing

In this tutorial, we will learn about Hash Tables, their uses, how they work, and hashing in general with detailed explanations and examples.

Introduction to Bit Manipulation

Bit Manipulation is a technique used in a variety of problems to get the solution in an optimized way. This technique is very effective from a Competitive Programming point of view. It is all about Bitwise Operators which directly works upon binary numbers or bits of numbers that help the implementation fast. Below are the Bitwise Operators that are used:

Introduction to Dynamic Programming

Dynamic Programming is mainly an optimization over plain recursion. Wherever we see a recursive solution that has repeated calls for the same inputs, we can optimize it using Dynamic Programming. The idea is to simply store the results of subproblems so that we do not have to re-compute them when needed later. This simple optimization reduces time complexities from exponential to polynomial.

Introduction to Greedy

Greedy Algorithm is defined as a method for solving optimization problems by taking decisions that result in the most evident and immediate benefit irrespective of the final outcome. It works for cases where minimization or maximization leads to the required solution.

Johnson's Algorithm

This page explains Johnson's Algorithm, an algorithm for finding shortest paths between all pairs of vertices in a weighted, directed graph.

Kadane’s Algorithm

In this tutorial, we will learn about Kadane’s Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Kadaney's Algorithm

In this tutorial, we will learn about Kadane's Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Kahn's Algorithm

This page explains Kahn's Algorithm, an algorithm for topological sorting of a directed acyclic graph (DAG).

Kosaraju's Algorithm

This page explains Kosaraju's Algorithm for finding the no of strongly connected component in a graph.

Kruskal's Algorithm

This page explains Kruskal's Algorithm for finding the minimum spanning tree in a graph.

Kruskal's Graph Algorithm

Kruskal's algorithm is a popular method used to find the minimum spanning tree (MST) of a connected, undirected graph. A minimum spanning tree is a subset of the edges in a graph that connects all the vertices together, wihout any cycles, and with minimum possible total edge weight.

Linear Search and Binary Search Algorithms

In this tutorial, we will explore linear search and binary search algorithms and their implementations in Python, Java, C++, and JavaScript with detailed explanations and examples.

Linked Lists in Data Structures

In this tutorial, we will learn about linked lists in Data Structures and Algorithms. We will discuss what linked lists are, how they are used, and how they are different from arrays.

Moore's Voting Algorithm

In this tutorial, we will learn about Moore's Voting Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Multistage Graph Algorithm

In this tutorial, we will learn about the Multistage Graph Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Palindrome Partitioning

In this tutorial, we will learn about the Palindrome Partitioning problem and its solution using Dynamic Programming in Python, Java, and C++ with detailed explanations and examples.

Partition Problem using Dynamic Programming

In this tutorial, we will learn about the Partition Problem and its solution using Dynamic Programming in Python, Java, C++, and JavaScript with detailed explanations and examples.

Prim's Algorithm

This page explains Prim's Algorithm for finding the minimum spanning tree in a graph.

Prim's Algorithm

In this tutorial, we will learn about Prim's Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Prim's Algorithm

In this tutorial, we will learn about Prim's Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Priority Queue in Data Structures and Algorithms

In this tutorial, we'll explore priority queues in Data Structures and Algorithms. We'll discuss what priority queues are, how they're used, and how to implement them in various programming languages.

Recursion

This page explains the concept of Recursion with detailed explanations, examples, and code implementations.

Sliding Window in Data Structures and Algorithms

Sliding Window problems are problems in which a fixed or variable-size window is moved through a data structure, typically an array or string, to solve problems efficiently based on continuous subsets of elements. This technique is used when we need to find subarrays or substrings according to a given set of conditions.

Tarjan's Algorithm

In this tutorial, we will learn about Tarjan's Algorithm and its implementation in Python, Java, C++, and JavaScript with detailed explanations and examples.

Topological Sorting

This page explains Topological Sorting, an algorithm for ordering vertices in a directed acyclic graph (DAG).

Travelling Sales Person Algorithm

In this tutorial, we will learn about the Travelling Sales Person Algorithm and its solution using Dynamic Programming in Python, Java, and C++ with detailed explanations and examples.

Word Break Problem

In this tutorial, we will learn about the Word Break Problem and its implementation in Python, Java, and C++ with detailed explanations and examples.

Z Algorithm

This is a solution for the string matching in linear time using Z algorithm.

Z-Algorithm

In this tutorial, we will learn about the Z-Algorithm and its implementation in Python, Java, and C++ with detailed explanations and examples.