Loading lesson path
Python
Learn the core DSA patterns using Python implementations and examples.
Data Structures is about how data can be stored in different structures.
In Python, lists are the built-in data structure that serves as a dynamic array.
A stack is a linear data structure that follows the Last-In-First-Out (LIFO) principle.
A queue is a linear data structure that follows the First-In-First-Out (FIFO) principle.
A Linked List is, as the word implies, a list where the nodes are linked together. Each node contains data and a pointer. The way they are linked together is that each node points to where in the mem…
A Hash Table is a data structure designed to be fast to work with.
A tree is a hierarchical data structure consisting of nodes connected by edges.
A tree is a hierarchical data structure consisting of nodes connected by edges.
A Binary Search Tree is a Binary Tree where every node's left child has a lower value, and every node's right child has a higher value.
The AVL Tree is a type of Binary Search Tree named after two Soviet inventors Georgy Adelson-Velsky and Evgenii Landis who invented the AVL Tree in 1962.
A Graph is a non-linear data structure that consists of vertices (nodes) and edges.
Linear search (or sequential search) is the simplest search algorithm. It checks each element one by one.
The Binary Search algorithm searches through a sorted array and returns the index of the value it searches for.
Bubble Sort is an algorithm that sorts an array from the lowest value to the highest value.
The Selection Sort algorithm finds the lowest value in an array and moves it to the front of the array.
The Insertion Sort algorithm uses one part of the array to hold the sorted values, and the other part of the array to hold values that are not sorted yet.
As the name suggests, Quicksort is one of the fastest sorting algorithms.
The Counting Sort algorithm sorts an array by counting the number of times each value occurs.
The Radix Sort algorithm sorts an array by individual digits, starting with the least significant digit (the rightmost one).
The Merge Sort algorithm is a divide-and-conquer algorithm that sorts an array by first breaking it down into smaller arrays, and then building the array back together the correct way so that it is s…